问题标签 [cls-compliant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么 unsigned int 不符合 CLS?
为什么无符号整数不符合 CLS?
我开始认为类型规范只是为了性能而不是为了正确性。
.net - 您的代码需要哪些更高级的规则才能成为 CLS 投诉?
这是根据 VS.NET 2005 不符合 CLS 投诉的具体示例。
这是我用 DbId32、DbId64、DbIdString 等类实现的接口。它是一种将本机数据库主键类型抽象为一个常见的 .Net 类型的方法。
我没有显示的是工厂方法,它实例化正确的具体类型(例如,SQL Server 类型“int”的新 DbId32)给定本机数据库类型。
现在假设我像这样使用这个界面:
VS 现在输出此警告消息:
函数“ID”的返回类型不是 CLS 投诉的。
我可以通过将此属性添加到我的界面来停止这些警告,如下所示:
此接口定义的所有功能似乎都没有违反此处记录的规则。那么为什么 VS 会显示这些警告呢?
.net - .NET 中非 CLS 兼容代码的后果是什么?
对于我从 VB6 移植的应用程序,我有几个关于 CLS-Compliance 的令人讨厌的编译器警告,包括:
尽管如此,我的应用程序似乎在 COM 和托管客户端上运行良好。我已经看过几篇描述如何使代码符合 CLS 的文章,我可能会继续这样做以摆脱烦人的警告,但我很好奇不符合 CLS 的代码在实际中的缺点是什么条款?我还没有发现这种强加的限制是什么?
.net - 是否有检查 CLS 合规性的工具?
是否有工具可以分析我的 .NET 代码(C# 和VB.NET)并告诉我为什么不符合 CLS?
Visual Studio 很高兴告诉我一个参数不符合 CLS,但它并没有让我更接近解决问题,因为我不知道原因。
示例 Visual Studio 错误:
参数“xyz”不符合 CLS
.net - 什么时候可以违反 CLS 合规性?
我想知道存在哪些可以使公共语言规范合规性可接受的边缘情况。即使不打算从其他语言访问,我认为由断言的原则CLSCompliantAttribute
是良好的最佳实践。
您是否遇到过/知道YAGNI胜过最佳实践的案例?
vb.net - 了解 CLS 合规性和正确的代码
我试图创建一个抽象控件来管理我们应用程序中的一些状态。但是,我遇到了一些 CLS 问题,并希望有人能提供一些见解。
我有一个这样的枚举:
还有一个这样的类:
当我尝试编译此代码时,我得到一个警告,即State属性不符合 CLS 且state参数也不符合。怎么会?我该如何纠正这个问题以消除警告?
- 我试图将 <CLSCompliant(True)> 属性添加到这两个项目,但没有成功
- 我试图将 MSDN 文章Non-CLS-compliant 'MustOverride' member is not allowed in a CLS-compliant传播到没有结果的代码中
- 我尝试将访问器更改
Friend
为Public
- 我尝试为 Enum (
Integer
andUInteger
)指定类型
c# - 参数类型“FluentNHibernate.Mapping.IProperty”不符合 CLS
名称不合规?布局?什么?
您有什么想法可以生成此消息吗?欢迎任何想法。我有一堆这样的警告。
实际上,我愿意删除 CLSCompliant(true),但我想知道根本原因。
c# - 为 .NET 程序集设置 CLS 合规性
可以为整个 .NET 程序集设置 CLS 合规性。但它实际上是如何完成的?例如使用 Visual Studio 2008?
c# - 在这种情况下,警告 CS3006 是否有效?
下面的代码生成警告 CS3006“重载的方法 MyNamespace.Sample.MyMethod(int[])' 仅在 ref 或 out 或数组等级中不同,不符合 CLS”。
这个警告是否有效,即这真的不符合 CLS 吗?我原以为显式接口实现不会算作重载。