相关疑难解决方法(0)

为什么C#构造函数不能推断类型?

为什么构造函数不支持类型推断,就像通用方法一样?

public class MyType<T>
{
   private readonly T field;
   public MyType(T value) { field = value; }
}

var obj = new MyType(42); // why can't type inference work out that I want a MyType<int>?
Run Code Online (Sandbox Code Playgroud)

虽然你可以用工厂类解决这个问题,

public class MyTypeFactory
{
   public static MyType<T> Create<T>(T value)
   {
      return new MyType<T>(value);
   }
}
var myObj = MyTypeFactory.Create(42);
Run Code Online (Sandbox Code Playgroud)

构造函数不支持类型推断是否存在实际或哲学原因?

c# generics constructor type-inference

160
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

constructor ×1

generics ×1

type-inference ×1