13-06-2009, 10:15
|
|
|
חבר מתאריך: 23.11.07
הודעות: 187
|
|
זה תלוי במה בדיוק אתה רוצה לעשות. אם אתה רוצה רק להריץ מתודות בזמן ריצה הקוד הזה יכול לעזור:
קוד:
try
{
MethodInfo mi = myObject.GetType().GetMethod("TEST");
// Check for a null here - if so, no such method exists
// Check for the proper types of parameters here, and convert if necessary
mi.Invoke(myObject, new object[] {8});
}
catch(Exception ex)
{
// Maybe multiple methods with the same name were found
}
אם אתה רוצה משהו יותר כללי כמו TEST DoSomething(MyObject.Value + 3).SomeValue אז זה סיפור אחר לגמרי, כי אז בעצם אתה רוצה את אותה פעולה של הקומפיילר בזמן ריצה. יש שפות שמספקות קומפיילר בזמן ריצה, ב-#C יהיה את זה רק בגרסה 4.0.
|