nviar meus próprios argumentos para um manipulador de evento
Estou trabalhando com o AssemblyResolve especificamente. Aqui está o meu código primeiro, depois a minha pergunta:
var a = AppDomain.CurrentDomain;
a.AssemblyResolve += new ResolveEventHandler(HandleIt);
Private Assembly HandleIt(object sender, ResolveEventArgs args){
//Does stuff, returns an assembly
}
So eu adiciono HandleIt ao meu evento AssemblyResolve. Como posso adicioná-lo a esse evento e passar um argumento com ele como:
a.AssemblyResolve += new ResolveEventHandler(HandleIt(AnArgument));
Isso está me impressionando, pois o HandleIt aceita argumentos, mas nenhum é explicitamente passado quando é adicionado ao evento AssemblyResolve. Eu esperaria algo como:
a.AssemblyResolve += new ResolveEventHandler(HandleIt(aSender,someArgs));
Então, sim, eu quero enviar outro argumento para minha função HandleIt ao adicioná-lo ao meu evento AssemblyResolv
Espero que faça sentido, obrigad
Termo aditivo
if(aBool){
a.AssemblyResolve += new ResolveEventHandler(HandleA);
}
else{
a.AssemblyResolve += new ResolveEventHandler(HandleB);
}
HandleA(object sender, ResolveEventArgs args){
Handle(true);
}
HandleB(object sender, ResolveEventArgs args){
Handle(false);
}
Handle(bool isA){
}
-vs-
if(aBool){
a.AssemblyResolve += (object s, ResolveEventArgs a) => Handle(s,a,true);
}
else{
a.AssemblyResolve += (object s, ResolveEventArgs a) => Handle(s,a,false);
}
Handle(object sender, ResolveEventArgs args, bool isA){
}