コンパイラの警告 (レベル 2) CS0108
'member1' は継承したメンバー 'member2' を非表示にします。 非表示にする場合は、キーワード new を使用してください。
変数は、基底クラスの変数と同じ名前で宣言されました。 ただし、new キーワードは使用されませんでした。 この警告は、new を使用することを推奨しています。この変数は、new が宣言で使用されたかのように宣言されています。
次の例では CS0108 が生成されます。
// CS0108.cs
// compile with: /W:2
using System;
namespace x
{
public class clx
{
public int i = 1;
}
public class cly : clx
{
public static int i = 2; // CS0108, use the new keyword
// Use the following line instead:
// public static new int i = 2;
public static void Main()
{
Console.WriteLine(i);
}
}
}