Compiler Warning (level 1) CS0809

Obsolete member 'memberA' overrides non-obsolete member 'memberB'.

Typically, a member that is marked as obsolete should not override a member that is not marked as obsolete. This warning is generated in Visual Studio 2008 but not in Visual Studio 2005.

To correct this error

  1. Remove the Obsolete attribute from the overriding member, or add it to the base class member.

Example

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