Da li je moguce refleksijom pozvati mutator?
Imam klasu:
Implementirana klasa:
Refleksija:
Ne radi. Metod se ne izvrsava.
Ako preradim osnovnu klasu, tj. dodam "rucni metod" za izvlacenje imena:
Onda kada refleksijom pozovem metod DajMiIme, radi.
Mislim i ovo rijesenje je ok, ali ako vec imam get;set zasto nesto dodavati?
[IMG]http://img233.imageshack.us/img233/5078/thumbnailte1.th.jpg[/IMG]
They say I look like daddy :D
Imam klasu:
Code:
public string Name { get; set; }
public DateTime DateCreated {get; set;}
public string Name { get; set; }
public DateTime DateCreated {get; set;}
Implementirana klasa:
Code:
public class FirstImpl : Plugin.Plugin, IPlugin
{
public FirstImpl()
{
Name = "First Implementation";
DateCreated = DateTime.Now;
}
void IPlugin.Print()
{
Console.WriteLine("Plugin name is: " + Name + " This Plugin was created on: " + DateCreated);
}
}
public class FirstImpl : Plugin.Plugin, IPlugin
{
public FirstImpl()
{
Name = "First Implementation";
DateCreated = DateTime.Now;
}
void IPlugin.Print()
{
Console.WriteLine("Plugin name is: " + Name + " This Plugin was created on: " + DateCreated);
}
}
Refleksija:
Code:
Assembly a = Assembly.LoadFile(DestinationLocation);
Type type = a.GetType("FirstPlugin.FirstImpl");
MethodInfo methodInfo = type.GetMethod("get_Name"); //Interni metod za getter
object result = null;
object classInstance = Activator.CreateInstance(type, null);
result = methodInfo.Invoke(classInstance, null);
Assembly a = Assembly.LoadFile(DestinationLocation);
Type type = a.GetType("FirstPlugin.FirstImpl");
MethodInfo methodInfo = type.GetMethod("get_Name"); //Interni metod za getter
object result = null;
object classInstance = Activator.CreateInstance(type, null);
result = methodInfo.Invoke(classInstance, null);
Ne radi. Metod se ne izvrsava.
Ako preradim osnovnu klasu, tj. dodam "rucni metod" za izvlacenje imena:
Code:
public string DajMiIme() // potrebno za refleksiju
{
return Name;
}
public string DajMiIme() // potrebno za refleksiju
{
return Name;
}
Onda kada refleksijom pozovem metod DajMiIme, radi.
Mislim i ovo rijesenje je ok, ali ako vec imam get;set zasto nesto dodavati?
Potpis
[IMG]http://img233.imageshack.us/img233/5078/thumbnailte1.th.jpg[/IMG]
They say I look like daddy :D