İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Uyarısı (düzey 1) CS0809

Eski üye 'memberA' eski olmayan 'memberB' üyesini geçersiz kılar.

Genellikle, eski olarak işaretlenmiş bir üye, eski olarak işaretlenmemiş bir üyeyi geçersiz kılmamalıdır. Bu uyarı Visual Studio 2008'de oluşturulur ancak Visual Studio 2005'te oluşturulmaz.

Bu hatayı düzeltmek için

Obsolete Geçersiz kılınan üyeden özniteliği kaldırın veya temel sınıf üyesine ekleyin.

Örnek

C#
// CS0809.cs
public class Base
{
    public virtual void Test1()
    {
    }
}
public class C : Base
{
    [System.Obsolete()]
    public override void Test1() // CS0809
    {
    }
}

Eski olarak tanınan yöntemler

Derleyici uyarısının CS0809 , aslında eski yöntemi çağırırken hiçbir CS0618 uyarıya yol açacağını unutmayın.
Aşağıdaki örnekte derleyici, çağrılırken derleyici tarafından tanınan bildirim türetilmiş sınıfı Deriveddeğil, temel sınıfında Baseolduğundan yöntemin Test kullanımdan kaldırıldığı konusunda uyarı vermez:

C#
class Base
{
    public virtual void Test() {}
}

class Derived : Base
{
    [System.Obsolete()]
    public override void Test() { }
}

static class Program
{
    public static void Main()
    {
        Derived derived = new();
        b.Foo();    // No CS0618
    }
}

Bunu düzeltmek için özniteliğini Obsolete de temel sınıfa ekleyin.

Ayrıca bkz.