C#如何创建泛型类T的实例
发布时间:2020-12-16 08:55:34 所属栏目:asp.Net 来源:网络整理
导读:最近在学历基类的写法时,遇到了一个问题:如何怎么创建一个泛型类T的实例呢? ? ? 废话不多说了,直接上代码吧,目前发现三种方法,先贴上,以后再总结,希望能帮助跟我遇到同样问题的朋友。 ? 方法一,通过外部方法传入的实例来实例化: // 泛型类: publi
最近在学历基类的写法时,遇到了一个问题:如何怎么创建一个泛型类T的实例呢? ? ? 废话不多说了,直接上代码吧,目前发现三种方法,先贴上,以后再总结,希望能帮助跟我遇到同样问题的朋友。 ? 方法一,通过外部方法传入的实例来实例化: //泛型类: public class MySQLHelp<T> { private T t; public MySQLHelp(T t) { this.t = t; } } 测试类 class Test{ static void Main(){ MySQLHelp<Message> mm = new MySQLHelp<Message>(new Message()); } } 其他类 Message{ } 方法二,通过限制泛型类的构造函数: ? ? 限制泛型类必须带有无参构造方法:public class MySQLHelp<T> where T:new() class MySQLHelp<T> where T:() { private T t= T(); MySQLHelp() { } } ); } } Message{ } 方法三,利用微软提供的方法: ? ?利用微软的类:System.Activator(包含创建本地或远程对象类型的方法或获取引用的方法,翻译名:活化剂类) 创建指定泛型类型参数指定的类型的实例:System.Activator.CreateInstance<T>()
创建指定泛型类型参数指定的类型的实例(使用这种方法可以不对泛型类型T做限制,即不用添加:where T:new()) private T t = System.Activator.CreateInstance<T>(); Message{ } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 为什么在设置@Page masterPageFIle时不暗示@Mas
- asp.net – Visual Studio发布/或构建解决方案ZIP
- 如何重定向到returnUrl在Asp.Net MVC5中工作
- asp.net-mvc – Asp.Net MVC 2 Label自定义文本
- asp.net-mvc-3 – 使用EditorFor/TextBoxFor/TextBox助手的
- asp.net-mvc-3 – 如何在NHibernate 3.2中实现通用存储库模
- SQL Server2005探索之—— 利用SQL Server2005提供的namesp
- asp.net – 无法加载文件或程序集“Microsoft.Web.Extensio
- asp.net-mvc – ASP.NET MVC – Html.DropDownList – 值未
- WCF服务与ASP.NET Web Api
推荐文章
站长推荐
- asp.net-mvc – 如果ActionResult未更改,则将MVC
- asp.net – NVelocity没有找到模板
- asp.net-mvc – 在ASP.NET MVC6中访问querystrin
- asp.net-mvc – 在MVC 3 RC中实现TransferResult
- asp.net-mvc – MVC4 Web API或MVC3 JsonResult
- asp.net-mvc – 使用MvcContrib TestHelper断言不
- .NET Core MVC RequestLocalization忽略DefaultR
- asp.net-mvc – asp.net mvc多语言urls /路由
- asp.net核心 – 如何在自己的主机环境中的ASP.NE
- Asp.Net Repeater ItemCommand dataitem始终为nu
热点阅读