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.
Obsolete
Geçersiz kılınan üyeden özniteliği kaldırın veya temel sınıf üyesine ekleyin.
// CS0809.cs
public class Base
{
public virtual void Test1()
{
}
}
public class C : Base
{
[System.Obsolete()]
public override void Test1() // CS0809
{
}
}
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ı Derived
değil, temel sınıfında Base
olduğundan yöntemin Test
kullanımdan kaldırıldığı konusunda uyarı vermez:
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.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: