我正在研究在其某些方法上具有以下属性的代码:
[CLSCompliantAttribute(false)]
当我按原样构建代码时,我看到正在执行合规性检查,当我将其注释掉时,似乎没有执行合规性检查?
我期待相反的行为……
解决方法
添加[CLSCompliant(false)]会将您添加的成员标记为不合规.
如果您将该成员标记为不合规,则编译器将不会警告您是否不合规. (因为你已经说它不合规了.)
但是,如果成员被标记为兼容(显式或间接来自程序集级别属性),但它实际上不符合(例如,它需要一个uint),编译器将警告您(因为该属性是现在说谎的成员).