Como você pode adicionar lógica adicional para resolução do tipo em tempo de execução?

StackOverflow https://stackoverflow.com/questions/122544

  •  02-07-2019
  •  | 
  •  

Pergunta

Existe uma maneira genérica, sem criar e gerir o seu próprio host CLR, para assumir a localizar e carregar um tipo se esse tipo não for encontrado?

O seguinte é apenas um exemplo. Em sua corrida para ser a primeira resposta, não sugerem o novo add-in-quadro ou do MEF como uma solução para a minha pergunta.

Um exemplo seria uma amostra com add-ins. Seu aplicativo lê um arquivo em que lista os tipos de uso para uma determinada função. O aplicativo tenta instanciar esses tipos. Se eles não estiverem atualmente carregado na appdomain, o método falhar. Estou à procura de um evento que eu posso lidar com ou um componente posso fornecer minha própria implementação para que me permite lidar bem com essas situações e fornecer lógica adicional para carregar estes conjuntos.


Tanto quanto eu posso dizer (a menos que alguém tem um exemplo que obras) nenhum do fogo eventos AppDomain tão longe mencionado quando um tipo não for encontrado.


Aguarde, aparentemente, isso está funcionando ! Não sei o que eu fiz de errado antes, mas este evento é acionado bom e bem.

Foi útil?

Solução

Existem eventos no AppDomain que você pode uso.

Você gostaria TypeResolve evento, e possivelmente a AssemblyResolve evento.

Além disso, você pode ler mais sobre como o .net runtime resolve montagens , por isso é possível que você poderia definir esta informação na seção de sondagem.

Outras dicas

Não é possível usando apenas eventos AppDomain?

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