编译器警告(等级 1)CS3011
“member”:只有符合 CLS 的成员才能是抽象的
类成员不能既 抽象 又不遵从公共语言规范 (CLS)。 CLS 指定应实现的所有类成员。 有关 CLS 合规性的详细信息,请参阅语言独立性和与语言无关的组件。
下面的示例生成 CS3011:
// CS3011.cs
using System;
[assembly:CLSCompliant(true)]
public abstract class I
{
[CLSCompliant(false)]
public abstract int M(); // CS3011
// OK
[CLSCompliant(false)]
public void M2()
{
}
}
public class C : I
{
public override int M()
{
return 1;
}
public static void Main()
{
}
}