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 :

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;
        }
En fait, d'après l'exception qui en résulte, tout se passe bien jusqu'à la création de l'instance.
Voici le message d'erreur :
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)
Et je ne le comprend pas trop, en principe mon instance n'est pas nul.

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 ?