英語で読む

次の方法で共有


コンパイラ エラー CS0135

'declaration1' は宣言 'declaration2' と競合します

コンパイラは、一般にコードのロジック エラーにつながる、名前の隠蔽を許可しません。

次の例では CS0135 が生成されます。

C#
// CS0135.cs  
public class MyClass2  
{  
   public static int i = 0;  
  
   public static void Main()  
   {  
      {  
         int i = 4;  
         i++;  
      }  
      i = 0;   // CS0135  
   }  
}  

C# 言語仕様から:

ローカル変数宣言領域と入れ子になったローカル変数宣言領域が同じ名前の要素を含むエラーです。 したがって、入れ子になった宣言領域内では、ローカル変数または定数を、外側の宣言領域内のローカル変数または定数と同じ名前で宣言することはできません。 宣言領域に他方が含まれていない限り、2 つの宣言領域に、同じ名前の要素を含めることができます。