常见C#编译器错误
1、编译器错误 CS1527
更新:2007 年 11 月
错误消息
命名空间中定义的元素无法显式声明为 private、protected 或 protected internal
命名空间中的类型声明可以具有 public 或 internal 访问。如果没有指定可访问性,则默认是 internal。
下面的示例生成 CS1527:
复制代码
// CS1527.cs
namespace Sample
{
private class C1 {}; // CS1527
protected class C2 {}; // CS1527
protected internal class C3 {}; // CS1527
}
2、编译器错误 CS1597
更新:2007 年 11 月
错误消息
方法或访问器块后面的分号无效
不需要(或不允许)使用分号结束方法或访问器块。
下面的示例生成 CS1597:
Copy Code
// CS1597.cs
class TestClass
{
public static void Main()
{
}; // CS1597, remove semicolon
}
----------------------------------------
但是class和namespace可以使用分号结束
如:
class TestClass
{
public static void Main()
{
}
};
3、编译器错误 CS0542
更新:2007 年 11 月
错误消息
“user-defined type”:成员名称不能与它们的封闭类型相同
某一名称在同一构造中多次使用。造成此错误的原因可能是因疏忽而将返回类型放在了构造函数中。(也就是说构造函数不能有返回类型)
下面的示例生成 CS0542:
Copy Code
// CS0542.cs
class F
{
// Remove void from F() to resolve the problem.
void F() // CS0542, same name as the class
{
}
}
class MyClass
{
public static void Main()
{
}
}如果您的类被命名为“Item”,并且有一个声明为 this 的索引器,您可能会遇到此错误。在发出的代码中为默认索引器给出的名称是
“Item”,从而导致冲突。
Copy Code
// CS0542b.cs
class Item
{
public int this[int i] // CS0542
{
get
{
return 0;
}
}
}
class CMain
{
public static void Main()
{
}
}
待续……