var DLL = Assembly.LoadFile(@"C:\" + Component);
string className = DLL.GetName().Name + "." + Class;
var classInfo = DLL.GetType(className);
var methodInfo = classInfo.GetMethod(Function);
if (methodInfo != null)
{
object result = null;
ParameterInfo[] parameters = methodInfo.GetParameters();
object classInstance = Activator.CreateInstance(classInfo, null);
if (parameters.Length == 0)
{
result = methodInfo.Invoke(classInstance, null);
}
else
{
string[] split_Parameters = Parameters.Split(',');
object[] parametersArray = new object[split_Parameters.Count()];
for (int i = 0; i <= split_Parameters.Count() - 1; i++)
{
string type = (parameters[i]).ParameterType.Name.ToUpper();
switch (type)
{
case "INT32":
parametersArray[i] = Convert.ToInt32(split_Parameters[i]);
break;
case "INT":
parametersArray[i] = Convert.ToInt32(split_Parameters[i]);
break;
case "STRING":
parametersArray[i] = split_Parameters[i];
break;
case "BOOL":
parametersArray[i] = Convert.ToBoolean(split_Parameters[i]);
break;
default:
parametersArray[i] = split_Parameters[i];
break;
}
}
result = methodInfo.Invoke(classInstance, parametersArray);
actionResult.Status = "Success";
}
}
string className = DLL.GetName().Name + "." + Class;
var classInfo = DLL.GetType(className);
var methodInfo = classInfo.GetMethod(Function);
if (methodInfo != null)
{
object result = null;
ParameterInfo[] parameters = methodInfo.GetParameters();
object classInstance = Activator.CreateInstance(classInfo, null);
if (parameters.Length == 0)
{
result = methodInfo.Invoke(classInstance, null);
}
else
{
string[] split_Parameters = Parameters.Split(',');
object[] parametersArray = new object[split_Parameters.Count()];
for (int i = 0; i <= split_Parameters.Count() - 1; i++)
{
string type = (parameters[i]).ParameterType.Name.ToUpper();
switch (type)
{
case "INT32":
parametersArray[i] = Convert.ToInt32(split_Parameters[i]);
break;
case "INT":
parametersArray[i] = Convert.ToInt32(split_Parameters[i]);
break;
case "STRING":
parametersArray[i] = split_Parameters[i];
break;
case "BOOL":
parametersArray[i] = Convert.ToBoolean(split_Parameters[i]);
break;
default:
parametersArray[i] = split_Parameters[i];
break;
}
}
result = methodInfo.Invoke(classInstance, parametersArray);
actionResult.Status = "Success";
}
}