【泛型】

C#泛型获取传入的动态类型参数的属性值的问题

dynamic tt = SortObj.GetType().GetProperty(Key).GetValue(SortObj, null);

对C#泛型实例化对像,在使用泛型的类后面加入一个 where T : new(),代码如下:

public class B<T> where T : new()

{

  public static T Get()

     {

         T result = new T();//这样就可以实例化。也可以编译通过。

      }

}

 NET 反射技术传递参数实例

 

static void Main(string[] args)

        {

            //此处用反射调用DLL文件,路径是我硬盘的路径

            Assembly a = Assembly.LoadFrom("D:\\工作文件\\Code\\Code\\Function\\bin\\Debug\\Code.Function.dll");

            Type[] tList = a.GetTypes();//获取该DLL程序集中定义的类或类型

            if (tList != null)//如果不为空

            {

                foreach (Type tItem in tList)//遍历每一个类或类型

                {

                    //获取类中的方法

                    MethodInfo[] methods = tItem.GetMethods(BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public);

                    //在类中查找方法名为“Show”的方法。

                    MethodInfo mShow = findMethod(methods, "Show");



                    if (mShow != null)

                    {

                        //创建该类的实例

                        object instance = Activator.CreateInstance(tItem);

                        object[] parameters = new object[1];//定义参数类型

                        parameters[0] = (object)"aaa";//设置Show方法的参数值

                        Console.WriteLine(mShow.Invoke(instance, parameters));//打印Show方法的输出结果

                    }

                }

            }

            Console.ReadLine();

        }

 

 

你可能感兴趣的:(泛型)