Using system;
Using system. Collections. Generic;
Using system. text;
Using system. reflection;
Namespace learn. myreflector
...{
Public class task
...{
Private int m_id;
Private datetime m_arrtime;
Private string m_name;
Public int ID... {Get... {return m_id;} set... {m_id = value ;}}
Public datetime arrtime... {Get... {return m_arrtime;} set... {m_arrtime = value ;}}
Public string name... {Get... {return m_name;} set... {m_name = value ;}}
Public override string tostring ()
...{
Return "learn. myreflector. Task ";
}
}
Public class myreflectortest
...{
Public void start (string clsname, object tarobj)
...{
Assembly ASM = assembly. getexecutingassembly ();
System. Type tasktype = ASM. GetType (clsname );
Propertyinfo [] proinfo = tasktype. getproperties ();
System. Console. writeline ("retrieve attribute values ");
Foreach (propertyinfo PI in proinfo)
...{
System. Console. writeline (PI. Name );
}
Foreach (propertyinfo PI in proinfo)
...{
System. Console. writeline (
Pi. getgetmethod (). Invoke (tarobj, new object []... {}). tostring ()
);
}
}
}
}
Myreflector. Task mytask = new learn. myreflector. task ();
Mytask. arrtime = datetime. now;
Mytask. ID = 120;
Mytask. Name = "test ";
Myreflector. myreflectortest TP = new learn. myreflector. myreflectortest ();
TP. Start (mytask. tostring (), mytask );
String BB = system. Console. Readline ();