نوشته شده توسط
ali_behshahr
سلام من یک کلاس دارم بنام MyClass من رشته "MyClass" رو دارم چه جوری می تونم یک نوع از کلاس بدست بیارم و ازش شی بسازم
با استفاده از الگوی رفلکشن که در دات نت هم به خوبی پشتیبانی می شه:
//روش 1
MyClass theClass = (MyClass)Activator.CreateInstance("AssemblyName", "MyClass");
// روش 2
Type t = Type.GetType("MyClass");
MyClass myObject = (MyClass)Activator.CreateInstance(t);
این مثال هم روش فراخوانی متد رو نشون می ده:
using System;
using System.Reflection;
class Program
{
static void Main()
{
Type t = Type.GetType("Foo");
MethodInfo method
= t.GetMethod("Bar", BindingFlags.Static | BindingFlags.Public);
method.Invoke(null, null);
}
}
class Foo
{
public static void Bar()
{
Console.WriteLine("Bar");
}
}