gpt4 book ai didi

c# - CLSCompliant 属性是否关心旧版本的 .NET 语言?

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:57 26 4
gpt4 key购买 nike

例如,我读到 Visual Basic .net 以前没有运算符重载,因此如果它们也没有作为普通方法提供(添加,而不是运算符+),那么将无法使用类型重载运算符).

既然 VB 具有此功能,那么 CLSCompliant 属性是否会关心您是否有正常的静态方法(如 Add、Subtract 而不是仅运算符重载)?

我写了一些没有口头静态方法的类型,但只有运算符重载,C# 编译器不关心。如果这是一个问题,它会警告我,对吗?

最佳答案

CLS 合规性与任何无关 - 它只是您应该合理期望任意的核心功能集要处理的语言(使用代码时)。例如,假设语言区分大小写是合理的,因此成员“Foo”和“foo”虽然在 C# 中合法,但不符合 CLS。

如果你要求,编译器会警告你;将 [CLSCompliant(true)] 添加到类型/程序集等,它将验证您的声明。

如果您是 ISV,您可能需要考虑 CLS 合规性。如果您只是为自己和团队编写代码,您可能不需要开销。

关于c# - CLSCompliant 属性是否关心旧版本的 .NET 语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com