一个程序集的一个类中定义了一个范型属性:List<stirng> Member;我用反射加载该程序集获取该类型的定义后,如何把该属性的名称输出为:List<stirng> 呢?

解决方案 »

  1.   

             
                      Type t=Assembly.Gettype("命名空间.类名")      
                      PropertyInfo[] pro = t.GetProperties();
                      foreach (PropertyInfo p in pro)
                      {
                        Console.WriteLine( p.PropertyType);
                      }
      

  2.   


            private static readonly string path = ConfigurationManager.AppSettings["FactoryKey"].ToString();        public static IAdbanner CreateAdbanner()
            {
                string classname = path + ".Adbanner";
                return (IAdbanner)System.Reflection.Assembly.Load(path).CreateInstance(classname);
            }
      

  3.   

                Type[] types = Assembly.LoadFrom(@"路径\xxx.dll").GetTypes();            foreach (var item in types)
                {
                    Console.WriteLine(item.Name);
                    foreach (var attrs in item.GetProperties())
                    {
                        Console.WriteLine("\t" + attrs.PropertyType + " " + attrs.Name);
                    }
                }
      

  4.   

                Type t = Type.GetType("命名空间.类名");
                PropertyInfo[] pro = t.GetProperties();            PropertyInfo p = t.GetProperty("Member");            string typeName = p.PropertyType.ToString();            
                Microsoft.CSharp.CSharpCodeProvider ccp = new Microsoft.CSharp.CSharpCodeProvider();
                System.CodeDom.CodeTypeReference newCodeTypeReference = new System.CodeDom.CodeTypeReference(typeName);
                Console.WriteLine(ccp.GetTypeOutput(newCodeTypeReference));
      

  5.   


      public class Base
    {
      public void AA()
    {
      Type type = this. GetType();
       string aaa = type.Name;
    }
    }public class  Child:Base
    {
       this.a();
    }