C#创建泛型类T的实例的三种方法
生活随笔
收集整理的這篇文章主要介紹了
C#创建泛型类T的实例的三种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文鏈接: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{
}
萌橙
你瞅啥?
總結
以上是生活随笔為你收集整理的C#创建泛型类T的实例的三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习(33)随机梯度下降十一: Te
- 下一篇: 深度学习之卷积神经网络(1)什么是卷积