怎样实例化 泛型类型?

我定义了一个泛型类(下面的例子),我需要在类中实例化一个T,但是却无法使用new T()。而用default(T)却只能得到null或0。应该怎么做。

public class MyClass<T> 
{
    public T Get()
    {
        T t = new T();
        return t;
    }
}


BIG阳
浏览 414回答 2
2回答

小唯快跑啊

请如以下代码示例使用:public class MyClass<T> where T : new(){&nbsp;&nbsp;&nbsp; public T Get()&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new T();&nbsp;&nbsp;&nbsp; }}C# 编译器无法保证你的代码在引用类型时也能安全通过,因为有时候我们会在类中使用 private 修饰构造函数。所以需要一个显示的构造器约束。而值类型已经满足上述要求。

弑天下

public class MyClass<T> where T : new()增加泛型约束
打开App,查看更多内容
随时随地看视频慕课网APP