Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Problemi reflection e proprietà
giovedì 17 novembre 2005 - 10.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
adima80
Profilo
| Junior Member
158
messaggi | Data Invio:
gio 17 nov 2005 - 10:36
Ciao, sti smanettando un po con la reflection... Voglio recuperare da una mia classe derivata da Windows.Form le mie proprietà, se uso il metodo type.GetProperties() mi ritorna tutte le proprietà tranne le mie, come mai? inoltre come faccio ad assegnare valori alla proprietà?
p.s.: se uso type.GetProperty("NomeProprietà"); funziona.... :) cmq come faccio a valorizzarla????
grazie
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 17 nov 2005 - 11:14
>Ciao, sti smanettando un po con la reflection... Voglio recuperare
>da una mia classe derivata da Windows.Form le mie proprietà,
>se uso il metodo type.GetProperties() mi ritorna tutte le proprietà
>tranne le mie, come mai? inoltre come faccio ad assegnare valori
>alla proprietà?
Ciao,
ho appena fatto un esempio come hai indicato qui. Ho definito una classe (Test) e delle proprietà. Poi ho scritto il codice:
Type d=Type.GetType("WindowsApplication1.Test");
PropertyInfo[] k=d.GetProperties();
e la variabile k contiene esattamente tutte le proprietà definite nella classe Test nel namespace WindowsApplication1.
Perchè non funziona a te?
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
adima80
Profilo
| Junior Member
158
messaggi | Data Invio:
gio 17 nov 2005 - 11:27
si ho provato: guarda questo è il codice con alcune correzzioni, ads mi da un' eccezzione:
Assembly dll = Assembly.LoadFrom(@"C:\Documents and Settings\All Users\Documenti\WS 2005\Reflect\bin\Debug\Reflect.dll");
Form form_dll = new Form();
form_dll = (Form)dll.CreateInstance("Reflect.Form1", true);
Type type;
type = form_dll.GetType();
FieldInfo fi = type.GetField("S");
fi.SetValue(form_dll, "ovolollo"); <------Eccezzione
form_dll.MdiParent = this;
form_dll.Show();
l'eccezzione generata è:
Use the New keyword to create the instance.
Uso il framework 2.0, in pratica ho creato una dll con dentro una form e la proprietà "S", anche dopo la creazione della nuova istanza dell'assembly nn funge... mah
adima80
Profilo
| Junior Member
158
messaggi | Data Invio:
gio 17 nov 2005 - 11:27
si ho provato: guarda questo è il codice con alcune correzzioni, ads mi da un' eccezzione:
Assembly dll = Assembly.LoadFrom(@"C:\Documents and Settings\All Users\Documenti\WS 2005\Reflect\bin\Debug\Reflect.dll");
Form form_dll = new Form();
form_dll = (Form)dll.CreateInstance("Reflect.Form1", true);
Type type;
type = form_dll.GetType();
FieldInfo fi = type.GetField("S");
fi.SetValue(form_dll, "ovolollo"); <------Eccezzione
form_dll.MdiParent = this;
form_dll.Show();
l'eccezzione generata è:
Use the New keyword to create the instance.
Uso il framework 2.0, in pratica ho creato una dll con dentro una form e la proprietà "S", anche dopo la creazione della nuova istanza dell'assembly nn funge... mah
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !