گرفتن اسم تمام متدهای یک کلاس و خاصیت های آن توسط کتابخانه Reflection
برای گرفتن نام تمامی متدهای یک کلاس می توانیم از متد Type.GetMethods استفاده کنیم
متد Type.GetMethods آرایه ای از MethodInfo بر می گرداند .MethodInfo شامل اطلاعات زیادی درباره متد می باشد .اگر Type.GetMethods را بدون هیچ پارامتر فراخوانی کنید مقدار برگشتی آن شامل اسم و اطلاعاتی در مورد همه متدهای کلاس و تمام خاصیت های کلاس به همراه property های get,set خواهد بود .می توانید خروجی آن را توسط پارامتر BindingFlags فیلتر کرده و فقط مواردی را برگردانید که مورد نیاز است .
برای استفاده از متد MethodInfo ابتدا باید کتابخانه زیر را به پروژه خود اضافه نمایید .
1 |
using System.Reflection; |
مثال زیر اسم تمام متدهایی را که در کلاس MyClass به صورت public و static می باشد گرفته و چاپ می کند .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// get all public static methods of MyClass type MethodInfo[] methodInfos = typeof(MyClass).GetMethods(BindingFlags.Public | BindingFlags.Static); // write method names foreach (MethodInfo methodInfo in methodInfos) { Console.WriteLine(methodInfo.Name); } // public class MyClass { public static int Speed() { return 1; } public void Age() {...} } |
همانطور که گفتیم این متد اطلاعات زیادی را بر میگرداند به طور مثال شما می توانید نوع های برگشتی متدها را چاپ کنید که بجای MethodInfo.Name می بایست ReturnType.Name را بنویسید که نوع خروجی متدها را چاپ خواهد کرد .
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.