Ciao,
come dice Pinky puoi crearli a runtime con un codice di questo tipo:
string name = "#tuttoilNamespace#.NomeClasse";
Assembly assembly = Assembly.GetExecutingAssembly();
IAnagraficaProvider obj = (IAnagraficaProvider)assembly.CreateInstance(name);
Oppure se ti serve devi caricare l'assembly da nome del file etc...insomma dipende un po' da dov'è questo oggetto che devi creare.
Invece la cosa che ti volevo far notare è che poi l'oggetto creato a runtime devi poi "castarlo" a qualcosa che puoi utilizzare, ecco perchè nell'esempio era un'interfaccia ma andava bene anche ad una classe che magari estende...dipende dalla tua struttura di oggetti, ma meglio se gli oggetti che crei a runtime sai di che "tipo base" (o interfaccia) sono per poterli utilizzare.
Chiaramente il problema potrebbe venire a runtime, perchè si fa un cast nel "CreateInstance" ...ma è inevitabile perchè lui torna un "object"...
Ciao.
Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo