为什么构造函数不支持类型推断,就像通用方法一样?
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)
构造函数不支持类型推断是否存在实际或哲学原因?