編譯器錯誤 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# 語言規格:
區域變數宣告空間和巢狀區域變數宣告空間包含相同名稱的元素,此為錯誤。 因此,在巢狀宣告空間內無法在封入宣告空間中,宣告名稱與區域變數或常數相同的區域變數或常數。 只要兩個宣告空間都不包含另一個宣告空間,即可以包含具有相同名稱的元素。