2009-05-22 5 views
3

J'ai une classe C# abstraite de base avec quelques méthodes qui doivent être remplacées. Comment puis-je appliquer cela? En ce moment, je jette une exception en tant que mise en œuvre de base"Enforce" remplace en C#

public virtual string Description 
    { 
     get { throw new NotImplementedException(); } 
    } 

    public virtual string ErrorMessage 
    { 
     get { throw new NotImplementedException(); } 
    } 

Cette solution semble cependant un peu mal et très peu intuitive ... Y at-il d'autres moyens de résoudre cela en C#?

Répondre

16

Faites les propriétés (ce ne sont pas des méthodes dans votre exemple) abstract.

public abstract string Description{ get; } 

public abstract string ErrorMessage{ get; } 
+0

Bon sang ... Je ne savais pas. Bien sûr. Je pensais seulement que l'abstrait était applicable aux cours. – Riri

+3

Si vous voulez juste un getter (comme dans la question), vous pouvez utiliser 'public abstract string Description {get; } '. –

+0

N'avez-vous pas à utiliser le {get; } partie? Je ne pense pas que cela compile sans cela. – configurator

3

Dans le cas de la méthode, vous devez les faire abstraction

public abstract void Method(); 
Questions connexes