ali_behshahr
شنبه 12 فروردین 1391, 23:42 عصر
سلام من یک کلاس دارم بنام MyClass من رشته "MyClass" رو دارم چه جوری می تونم یک نوع از کلاس بدست بیارم و ازش شی بسازم
C#.net
یک شنبه 13 فروردین 1391, 00:59 صبح
سلام من یک کلاس دارم بنام 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");
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.