首页 >后端开发 >C++ >为什么 C# 不支持构造函数类型推断?

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

Susan Sarandon
Susan Sarandon原创
2025-01-20 06:51:10715浏览

Why Doesn't C# Support Constructor Type Inference?

C# 缺乏构造函数类型推断:深入探讨

C# 强大的类型推断系统是泛型方法的福音,特别是省略了构造函数类型推断。 本文探讨了这一遗漏背后的原因。

概念障碍

虽然看似简单,但实现构造函数类型推断会带来显着的重载解析复杂性。 语句 new Foo(bar) 可能会遇到当前范围内具有不同泛型参数的多个 Foo 类型。 确定最合适的构造函数需要对类型推断机制进行重大修改。 保持向后兼容性使事情变得更加复杂,需要优先考虑非泛型类型构造函数。

实际权衡

尽管有明显的优势,但实现构造函数类型推断会带来大量的开发成本。 C# 开发人员必须仔细评估与其他功能优先级相比的潜在好处。 此外,现成的工厂模式提供了一种可行的替代方案,减少了对此特定功能的感知需求。

历史背景

尽管多次提出建议,构造函数类型推断始终处于较低优先级。 复杂的设计挑战加上有效解决方法的存在,迄今为止阻碍了其被纳入。

状态更新

虽然考虑了 C# 6,但构造函数类型推断最终被排除在最终规范之外。

以上是为什么 C# 不支持构造函数类型推断?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn