• C# 动态调用泛型方法


    static void Main(string[] args)
            {
                #region 具体类型可传递。
                Personal specifiedPersonal = new Personal();
     
                Employee<Personal> employee = new Employee<Personal>();
                employee.Create(specifiedPersonal);
                #endregion
     
     
                #region 动态类型传递到TModel。
                //假设传递一个a进来
                Personal a = new Personal();
                var type = typeof(Employee<>).MakeGenericType(a.GetType());
                dynamic a_Context = Activator.CreateInstance(type);
                var q =  a_Context.Create(a);
                Console.WriteLine(q);
     
                #endregion
     
                Console.ReadLine();
            }
     
            public class Personal
            {
                public string FirstName { get; internal set; }
                public string LastName { get; internal set; }
            }
            public interface IEmployee<TModel>
            {
                Guid Create(TModel model);
                bool Update(TModel model);
            }
     
            public class Employee<TModel> : IEmployee<TModel>
            {
                public Guid Create(TModel model)
                {
                    // TODO :
                    return Guid.NewGuid();
                }
                public bool Update(TModel model)
                {
                    // TODO :
                    return true;
                }
            }
    --------------------- 
    作者:正怒月神 
    来源:CSDN 
    原文:https://blog.csdn.net/hanjun0612/article/details/84954340 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    MySQL分库分表环境下全局ID生成方案
    centos添加php及mysql环境变量
    shell中的常用通配符,字符类
    centos7 安装xinetd,telnet
    centos7 systemctl一些用法
    ps命令
    nginx与php-fpm通信的两种方式
    nginx常用功能
    MySQL安装
    MySql与MariaDB由来与历程
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/10101938.html
Copyright © 2020-2023  润新知