zoukankan      html  css  js  c++  java
  • 【泛型】

    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();
            }
  • 相关阅读:
    my15_ mysql binlog格式从mixed修改为row格式
    my14_mysql指定时间恢复之模拟从库
    my13_mysql xtrabackup备份的时间点
    必知必会的图论算法
    leetcde37. Sudoku Solver
    leetcode36. Valid Sudoku
    leetcode52. N-Queens II
    leetcode51. N-Queens
    First Missing Positive
    Maximum Gap
  • 原文地址:https://www.cnblogs.com/FH-cnblogs/p/3757050.html
Copyright © 2011-2022 走看看