C# 缺乏构造函数类型推断:深入探讨
C# 强大的类型推断系统是泛型方法的福音,特别是省略了构造函数类型推断。 本文探讨了这一遗漏背后的原因。
概念障碍
虽然看似简单,但实现构造函数类型推断会带来显着的重载解析复杂性。 语句 new Foo(bar)
可能会遇到当前范围内具有不同泛型参数的多个 Foo
类型。 确定最合适的构造函数需要对类型推断机制进行重大修改。 保持向后兼容性使事情变得更加复杂,需要优先考虑非泛型类型构造函数。
实际权衡
尽管有明显的优势,但实现构造函数类型推断会带来大量的开发成本。 C# 开发人员必须仔细评估与其他功能优先级相比的潜在好处。 此外,现成的工厂模式提供了一种可行的替代方案,减少了对此特定功能的感知需求。
历史背景
尽管多次提出建议,构造函数类型推断始终处于较低优先级。 复杂的设计挑战加上有效解决方法的存在,迄今为止阻碍了其被纳入。
状态更新
虽然考虑了 C# 6,但构造函数类型推断最终被排除在最终规范之外。
以上是为什么 C# 不支持构造函数类型推断?的详细内容。更多信息请关注PHP中文网其他相关文章!