چطور متد جنریک را بوسیله رفلکشن در سی شارپ فراخوانی کنیم

mohsen1 سال قبل
ارسال شده در
mohsen

برای فراخوانی متد جنریک بوسیله رفلکشن در سی شارپ باید از متد MakeGenericMethod شی MethodInfo استفاده کنیم.

      var instanceOfSample = new Sample();

MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod));
MethodInfo generic = method.MakeGenericMethod(myType);
generic.Invoke(instanceOfSample, null);
    

در این مثال myType نوع جنریک متد است. 

فرض کنیم که متد جنریکی داریم و نوع جنریک آن در زمان اجرا مشخص می شود. 

      public class Sample {
   public void GenericMethod<T>() {
       ...
   }
}
    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!