日期:2014-05-17  浏览次数:20926 次

怎样用反射获取委托信息?
比如delegate int MyDelegate(string name);
怎样获取其返回类型int、输入类型string及其参数名称name?

------解决方案--------------------
assembly.GetType

委托也是一种类型  

namespace AA
{
public  class BB
{
  
}
public delegate void MyDelegate(string name);
}

Type t = assembly.GetType("AA.BB"); //获取类型BB

委托类似
Type t = assembly.GetType("AA.MyDelegate");
------解决方案--------------------
引用:
assembly.GetType

委托也是一种类型  

namespace AA
{
public  class BB
{
  
}
public delegate void MyDelegate(string name);
}

Type t = assembly.GetType("AA.BB"); //获取类型BB

委托类似
Type t = assembly.GetType("AA.MyDelegate");


前面加上:
Assembly assembly = Assembly.LoadFrom(...); 
------解决方案--------------------

引用:
Quote: 引用:

assembly.GetType

委托也是一种类型  

namespace AA
{
public  class BB
{
  
}
public delegate void MyDelegate(string name);
}

Type t = assembly.GetType("AA.BB"); //获取类型BB

委托类似
Type t = assembly.GetType("AA.MyDelegate");


获取到t然后呢?我知道委托都继承自Delegate,里面有一个类型为MethodInfo的Method属性。怎样不构造实例获取到这个MethodInfo?


跟获取其他类型中的方法一样啊  Type.GetProperties();
------解决方案--------------------
Type不是有个GetEvents()方法么~~
------解决方案--------------------
委托也是一种类型了,具体实现可以参考我的博客:http://blog.csdn.net/lizhi3186575/article/details/8986877