在C#中禁用CLS合规性检查

use*_*400 7 c# cls-compliant

我正在研究在其某些方法上具有以下属性的代码:

[CLSCompliantAttribute(false)] 
Run Code Online (Sandbox Code Playgroud)

当我按原样构建代码时,我看到正在执行合规性检查,当我将其注释掉时,似乎没有执行合规性检查?

我期待相反的行为......

SLa*_*aks 9

添加[CLSCompliant(false)]标记将您添加的成员标记为不合规.

如果您将该成员标记为不合规,则编译器不会警告您是否不合规.(因为你已经说过它不合规了.)

但是,如果成员被标记为兼容(显式或间接来自程序集级别属性),但它实际上不符合(例如,它需要a uint),编译器将警告您(因为该属性现在说谎的成员).

  • 您可能在装配级别拥有它.在Properties/AssemblyInfo.cs中查找`[assembly:CLSCompliant(true)]` (4认同)