Activator et expression lambda
Bonjour,
Je charge en asynchrone une dll restée côté serveur à l'aide d'un WebClient.Comme ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
var dnl = new WebClient();
dnl.OpenReadCompleted += dnl_OpenReadCompleted;
dnl.OpenReadAsync(new Uri("http://monAdresse/madll.dll"), UriKind.Absolute);
void dnl_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
try
{
AssemblyPart assemblyPart = new AssemblyPart();//ok
extLib = assemblyPart.Load(e.Result);//ok
Type t = extLib.GetType("monNameSpace.maClasse", true);//ok
object obj = Activator.CreateInstance(t);//ligne d'erreur
... |
Avec toutes les dll ça se passe bien mais dernièrement je n'ai pas réussi à charger une dll car il y avait des lignes de code comportant des expressions lambda (que j'utilise pour remplacer les macros du C) du style:
Code:
1 2 3 4
|
Func<int, int> rank = (x) => (((x- 26) / 12) + 1);
Func<int> Gettime = () => Environment.TickCount & Int32.MaxValue;
Func<bool,int> Int = (x) => Convert.ToInt32(x); |
Sans ces lignes c'est ok, mais avec je déclenche une TargetInvocationException,peu importe la syntaxe.
Bien sûr je peux passer par des fonctions classiques mais j'aimerai savoir si les expressions lambda sont incompatibles avec Silverlight ou si j'oublie quelque chose.
Merci.
Salutations.