کلاسی به نام MyClass داریم که اینترفیس MyInterface را پیاده سازی کرده است. نام کلاس را به متد GetType می دهیم و نام کامل یعنی QualifiedName آن کلاس را دریافت می کنیم. نام کامل کلاس را یعنی QualifiedName را به متد CreateInstance می دهیم تا که instance از کلاس را برای ما برگرداند. حال می توانیم این instance را به آن اینترفیسی که این کلاس آن را پیاده سازی کرده است Cast می کنیم و متدهایش را فراخوانی کنیم.
کاربرد این مساله برای زمانی است که ما در پروژه نمی دانیم قرار است که از چه کلاسی instance ایجاد کنیم و نام آن کلاس از طریق دیتابیس یا ... به ما اعلام می شود.
var myClassQualifiedName = Type.GetType("MyProject.MyClass");
var instance = Activator.CreateInstance(myClassQualifiedName);
var instanceInterface = instance as MyInterface;
if (instanceInterface != null)
instanceInterface.myMethod();
سلام..از مطالب وبلاگت استفاده کردم..تشکر
به من سر بزن
اگه دوست داشتی بهم خبر بده تا باهم تبادل لینک داشته باشیم
عالی بود فرجون