110,534
社区成员
发帖
与我相关
我的任务
分享
object comObj = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("30FB1E22-B498-4B62-8B26-98BA61176024")));
object obj = comObj.GetType().InvokeMember(_methodName, System.Reflection.BindingFlags.InvokeMethod, null, comObj, param);
args[0] = "DVC_CutImgmethod";
args[1] = @"11";
args[2] = "1";
args[3] = "2";
//如果没有数据的话,直接return
if (args.Length == 0)
{
return;
}
//获取方法名
string _methodName = args[0];
//创建list集合用于保存参数
List<object> list = new List<object>();
for (int i = 1; i < args.Length; i++)
{
list.Add(args[i]);
}
//转换成object数组
object[] param = list.ToArray();
//通过GUID获取到DVBusiUtilCalClass类
var type=Type.GetTypeFromCLSID(new Guid("30FB1E22-B498-4B62-8B26-98BA61176024"));
//查看是否有—_methodName这个方法
var method = type.GetMethod(_methodName);
MethodInfo[] sss= type.GetMethods();
//如果在DVBusiUtilCalClass没有找到这个方法,那么去创建DVBusiUtilPreClass的实例
if (method == null)
{
type = Type.GetTypeFromCLSID(new Guid("592703AB-CF61-425D-9ACD-A0938E451AEA"));
}
object comObj = Activator.CreateInstance(type);
//创建类型实例
//object comObj = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("30FB1E22-B498-4B62-8B26-98BA61176024")));
//MemberInfo[] vvv = comObj.GetType().GetMembers();
//int ddd = vvv.Length;
//if (comObj.GetType().GetMember(_methodName)==null)
//{
// comObj = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("592703AB-CF61-425D-9ACD-A0938E451AEA")));
//}
//获取返回值
object result = comObj.GetType().InvokeMember(_methodName, System.Reflection.BindingFlags.InvokeMethod, null, comObj, param);
Console.WriteLine(Convert.ToInt32(result));
整体代码。。 //通过GUID获取到DVBusiUtilCalClass类
var type=Type.GetTypeFromCLSID(new Guid("30FB1E22-B498-4B62-8B26-98BA61176024"));
//查看是否有—_methodName这个方法
var method = type.GetMethod(_methodName);
如果在DVBusiUtilCalClass没有找到这个方法,那么去创建DVBusiUtilPreClass的实例
if (method == null)
{
type = Type.GetTypeFromCLSID(new Guid("592703AB-CF61-425D-9ACD-A0938E451AEA"));
}
[/quote]
type有值,但是method每值,一直是空 //通过GUID获取到DVBusiUtilCalClass类
var type=Type.GetTypeFromCLSID(new Guid("30FB1E22-B498-4B62-8B26-98BA61176024"));
//查看是否有—_methodName这个方法
var method = type.GetMethod(_methodName);
如果在DVBusiUtilCalClass没有找到这个方法,那么去创建DVBusiUtilPreClass的实例
if (method == null)
{
type = Type.GetTypeFromCLSID(new Guid("592703AB-CF61-425D-9ACD-A0938E451AEA"));
}