Fordító figyelmeztetés (2. szint) CS0108

A "member1" elrejti a "member2" öröklött tagot. Használja az új kulcsszót, ha elrejtést szántak.

A rendszer egy tagot ugyanazzal a névvel deklarált, mint egy alaposztály tagja. Az új módosító azonban nem volt használatban.

Az alábbi minta a CS0108-at hozza létre. A CS0108 kétféleképpen oldható fel:

  • Nevezze át a tagot a származtatott osztályban, ha a tag elrejtése nem célja.

  • new A módosító használatával állapítsa meg, hogy az alaptag származtatott tagja szándékos volt.

// CS0108.cs
// compile with: /W:2
using System;

namespace MyNamespace;

public class BaseClass
{
    public int i = 1;
}

public class DerivedClass : BaseClass
{
    public static int i = 2;   // CS0108
    // Use the following line instead:
    // public static new int i = 2;

    public static void Main()
    {
        Console.WriteLine(i);
    }
}

Lásd még