Bonjour.
Je maîtrise sans doute mal mon sujet mais après de longue recherches, je m'en remet à vous...
J'essaye de charger une DLL me permettant de "traduire" un document JSON.
Voici la méthode en question :
En fait, d'après l'exception qui en résulte, tout se passe bien jusqu'à la création de l'instance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public static dynamic Parse(dynamic informations, Message encodedMessage) { //Console.WriteLine("Parse(string encodedPayload) :"); //Console.WriteLine(" encodedPayload : " + encodedMessage); Message decodedMessage = encodedMessage; var myAssembly = Assembly.LoadFile("C:\L.dll"); //var myType = myAssembly.GetType("DLL.MyType"); var myType = myAssembly.GetType("DLL.MCS1608"); //ISensor myInstance = (ISensor)Activator.CreateInstance(myType, informations.SoftwareVersion, encodedMessage.Payload); ISensor myInstance = (ISensor)System.Activator.CreateInstance(myType, encodedMessage.Payload); var payload = myInstance.decodedPayload(); var isConfig = myInstance.isConfiguration(); var isNewConfig = myInstance.isNewConfiguration(); dynamic msg = new JObject(); msg.DeviceId = decodedMessage.DeviceId; msg.Payload = payload; msg.Rssi = decodedMessage.Rssi; msg.Snr = decodedMessage.Snr; msg.Timestamp = decodedMessage.Timestamp; msg.IsConfiguration = isConfig; msg.IsNewConfiguration = isNewConfig; Console.WriteLine(" decodedMessage : " + msg.ToString()); return msg; }
Voici le message d'erreur :
Et je ne le comprend pas trop, en principe mon instance n'est pas nul.System.ArgumentNullException: Value cannot be null.
Parameter name: type
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
Auriez vous une idée plus efficace pour charger un fichier DLL dans un dossier, et utiliser les fonction de celui-ci pour traiter mon document Json ?
Partager