[C#] Assembly.CreateInstance()

Assembly.CreateInstance() [C#] - C#/.NET managed - Programmation

Marsh Posté le 03-03-2007 à 20:54:52    

Salut,
 
j'ai crée une class library toute simple:
 

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace ClassLibrary1
  5. {
  6.     public class Class1
  7.     {
  8.         public int ReturnSomething()
  9.         {
  10.             return 1;
  11.         }
  12.     }
  13. }


 
Maintenant dans une console application j'aimerai charger ma dll et appeler ma méthode 'ReturnSomething'
 
donc je fais pour commencer:
 

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Reflection;
  5. namespace ConsoleApplication2
  6. {
  7.     class Program
  8.     {
  9.         static void Main( string[] args )
  10.         {
  11.             Assembly assembly = Assembly.LoadFrom( "ClassLibrary1.dll" );
  12.             Object obj = assembly.CreateInstance( "Class1" );
  13.             .../...
  14.         }
  15.     }
  16. }


 
Seulement le CreateInstance() me retourne null, je vois pas pourquoi... y'a t'il quelquechose de particulier à faire pour compiler ma class library ?
Merci pour votre aide.

Reply

Marsh Posté le 03-03-2007 à 20:54:52   

Reply

Marsh Posté le 03-03-2007 à 22:02:35    

tes 2 assemblys sont dans le même répertoire ?

Reply

Marsh Posté le 03-03-2007 à 22:48:48    

oui j'ai copié la ClassLibrary1.dll dans le répertoire debug de mon ConsoleApplication2.exe

Reply

Marsh Posté le 03-03-2007 à 22:54:05    

ligne 14 du code client, tu as oublié de préciser le namespace :

Code :
  1. Object obj = assembly.CreateInstance( "ClassLibrary1.Class1" );

Reply

Marsh Posté le 04-03-2007 à 01:00:14    

Impec c'était ça ! Je te remercie pour ton aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed