masterfy

 

常见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()
   {
   }
}

 

 

待续……

posted on 2009-06-14 01:19  masterfy  阅读(1361)  评论(1编辑  收藏  举报

导航