Erro do compilador CS0505

'member1': não pode substituir porque 'member2' não é uma função

Uma declaração de classe tentou substituir um não-método em uma classe base. As substituições devem corresponder ao tipo de membro. Se um método com o mesmo nome que um método em uma classe base for desejado, use novo (e não substituir) na declaração de método na classe base.

O exemplo a seguir gera CS0505:

// CS0505.cs  
// compile with: /target:library  
public class clx  
{  
   public int i;  
}  
  
public class cly : clx  
{  
   public override int i() { return 0; }   // CS0505  
}