C#中缺少ctor约束背后的基本原理

时间:2013-11-12 12:59:54

标签: c#

我想知道,对于类型化构造函数缺少通用类类型约束的原因是什么?例如

public class MyClass<T>
    where T : new(int)
{
    public T Create(int i)
    {
        return new T(i);
    }
}

尽管如此,这可能很容易(尽管IMO丑陋)被绕过(通过lambda-ctor),但我可以想象没有任何情况,这种约束可能会导致任何实际的麻烦或歧义。

请注意,这是一个语言结构问题,而不是特定问题。

1 个答案:

答案 0 :(得分:1)

我搜索了一下,找到了答案。但由于它在这里,我不想复制它,我只会发布一个链接。这是Eric Lippert的回答。我希望他的回答对你意味着什么。

  

https://stackoverflow.com/a/9741812/809009

这是一个有点长的问题,但你可以跳过它并只阅读链接的答案。