コンパイラの警告 (レベル 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);
      }
   }
}

こちらもご覧ください