classe C # Resumo, usando anônimo em vez de declarar classe concreta?
-
05-07-2019 - |
Pergunta
Eu tenho uma classe abstrata e gostaria de usá-lo rapidamente por que não criar uma classe concreta que herdam a classe abstrata. Bem, para definir o método abstrato anonimamente.
Algo assim:
Command c = new Command(myObject){
public override void Do()
{
}
};
É possível em C # .NET 2.0?
Solução
Você pode criar um tipo que envolve uma ação fornecendo uma implementação como tal:
class ActionCommand
{
private readonly Action _action;
public ActionCommand(Action action)
{
_action = action;
}
public override void Do()
{
_action();
}
};
Isso, então, pode ser usado como assim:
Command c = new Command((Action)delegate()
{
// insert code here
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow