編譯器警告 (層級 1) CS3018
因為 'type' 是不符合 CLS 規範之類型 'type' 的成員,所以不可標記為符合 CLS 規範
如果 CLSCompliant 屬性設定為 true
的巢狀類別宣告為 CLSCompliant 屬性設定為 false
之類別的成員,則會發生這個警告。 這是不允許的作業,因為巢狀類別不能符合 CLS 規範 (如果巢狀類別是不符合 CLS 規範之外部類別的成員)。 若要解決這個警告,請從巢狀類別中移除 CLSCompliant 屬性,或將它從 true
變更為 false
。 如需 CLS 合規性的詳細資訊,請參閱語言獨立性以及與語言無關的元件。
下列範例會產生 CS3018。
// CS3018.cs
// compile with: /target:library
using System;
[assembly: CLSCompliant(true)]
[CLSCompliant(false)]
public class Outer
{
[CLSCompliant(true)] // CS3018
public class Nested {}
// OK
public class Nested2 {}
[CLSCompliant(false)]
public class Nested3 {}
}