Pergunta

PostSharp dá este erro:

PostSharp: Não é possível aplicar um OnMethodInvocation aspecto (...) com Local alvo de tecelagem na abstrato ou método externo "...". Considerar excluindo o aspecto deste método ou o uso de chamada local tecelagem.

Sugestão de tecelagem chamada local não é uma solução adequada para mim. Existe alguma maneira de adicionar processamento de pré / pós para o método abstrato?

Foi útil?

Solução

Eu sugiro que você usar a herança aspecto. O aspecto será automaticamente adicionado a todos os métodos de aplicação do método abstrato.

Veja MulticastAttribute.AttributeInheritance ou MulticastAttributeUsageAttribute.Inheritance, ou documentação oficial para mais informações.

Outras dicas

Este é, naturalmente imposible - como você executar tecelagem local alvo com um método abstrato, um método sem qualquer código? Pode, claro, realizar tecelagem local de destino com todos os tipos derivados de aplicação do método, mas isso requer que você controlar este tipos. Ou você pode fazer o método não-abstrata e virtual e exigem tipos derivados para chamar a implementação base.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top