原文链接:https://www.cnblogs.com/lxhbky/p/6020612.html

方法一,通过外部方法传入的实例来实例化:

//泛型类:
public class MySQLHelp<T>
{
private T t;
public MySQLHelp(T t)
{
this.t = t;
}
} //测试类
public class Test{
public static void Main(){
MySQLHelp<Message> mm = new MySQLHelp<Message>(new Message());
}
}
//其他类
public class Message{ }

方法二,通过限制泛型类的构造函数:

    限制泛型类必须带有无参构造方法:public class MySQLHelp<T> where T:new()

//泛型类:
public class MySQLHelp<T> where T:new()
{
private T t=new T();
public MySQLHelp()
{
}
} //测试类
public class Test{
public static void Main(){
MySQLHelp<Message> mm = new MySQLHelp<Message>();
}
}
//其他类
public class Message{ }

方法三,利用微软提供的方法:

   利用微软的类:System.Activator(包含创建本地或远程对象类型的方法或获取引用的方法,翻译名:活化剂类)

创建指定泛型类型参数指定的类型的实例:System.Activator.CreateInstance<T>()
//泛型类:
public class MySQLHelp<T>
{
//创建指定泛型类型参数指定的类型的实例(使用这种方法可以不对泛型类型T做限制,即不用添加:where T:new())
private T t = System.Activator.CreateInstance<T>();
public MySQLHelp()
{
}
} //测试类
public class Test{
public static void Main(){
MySQLHelp<Message> mm = new MySQLHelp<Message>();
}
}
//其他类
public class Message{ }

最新文章

  1. Intro to CSS 3D transforms
  2. iOS改变字母的大小写
  3. [ruby on rails] 跟我学之(2)HelloWorld
  4. HTML 中 META的作用
  5. 解决spawn-fcgi child exited with: 1
  6. 系统使用 aspose.cell , 使得ashx第一次访问会变很慢
  7. (转)搜索Maven仓库 获取 groupid artifactId
  8. for()循环
  9. Android系统环境变量配置
  10. 帝国cms中上一篇与下一篇个性化灵动标签调出
  11. PHP中使用CURL(三)
  12. 4、ABPZero系列教程之拼多多卖家工具 集成短信发送模块
  13. [Codeforces 864C]Bus
  14. SpringMVC常用配置(二),最简洁的配置实现文件上传
  15. HTML5 CSS3 诱人的实例 :canvas 模拟实现电子彩票刮刮乐
  16. 【翻译】asp.net core中使用MediatR
  17. iOS 上架注意
  18. URI/URL/URN的联系和区别
  19. Python中的yield生成器的简单介绍
  20. java30

热门文章

  1. 用户及用户组管理(week1_day4)
  2. 维特比算法及python实现
  3. java-循环变量定义问题
  4. [转帖]FreeBSD、OpenBSD、NetBSD的区别
  5. 结合docker做flask+kafka数据接口与压力测试
  6. mybatis-sql执行流程源码分析
  7. requests库爬取豆瓣热门国产电视剧数据并保存到本地
  8. Win10开机后内存突然飙升
  9. 多进程-Pool进程池
  10. feign 多参数问题