首页 > Windows开发 > 详细

C#反射方式调用泛型方法

时间:2019-12-06 10:08:00      阅读:213      评论:0      收藏:0      [点我收藏+]
技术分享图片
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;

namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private  void  Paster<Ent>(String dicNo)
        where Ent : class, new()
        {
            var ent = new Ent();
            var list = new List<Ent>();
            for (int i = 0; i < 10; i++)
            {
                var e = new Ent();
                list.Add(e);
            }
            Console.WriteLine(typeof(Ent).ToString() + "__" + dicNo +"___" + ent);
            
        }
        private void button1_Click(object sender, EventArgs e)
        {



            Type t = this.GetType();
            BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
            var m1 = this.GetType().GetMethod("Paster", flags);
            var info= m1.MakeGenericMethod(typeof(SEnt));

             //object list = t.InvokeMember(null,
             //    BindingFlags.DeclaredOnly |
             //    BindingFlags.Public | BindingFlags.NonPublic |
             //    BindingFlags.Instance | BindingFlags.CreateInstance, null, null, new object[] { });


            info.Invoke(this,new Object[]{"ttt"});
     
        }
    }
    public class SEnt
    {
        public String Name { get; set; }
        public override string ToString()
        {
            return DateTime.Now.ToString();
        }
    }

}
View Code

 

C#反射方式调用泛型方法

原文:https://www.cnblogs.com/wdfrog/p/11993257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!