我定义了多个类我想通过一个过程来处理这几个类,类的名称要在过程中使用,所以希望实现上面说的方法,我把类名当字符串传入然后在过程中有什么方法可以把这个字符串转成类名吗?
class a
class b
void f(string p)
{
foreach (object c in object)
{
if (c is p) //这个p有什么方法可以根据我的需要进行转换呢
......
}
}
...全文
18012打赏收藏
有什么方法可以把字符串转为类的实例吗?
我定义了多个类我想通过一个过程来处理这几个类,类的名称要在过程中使用,所以希望实现上面说的方法,我把类名当字符串传入然后在过程中有什么方法可以把这个字符串转成类名吗? class a class b void f(string p) { foreach (object c in object) { if (c is p) //这个p有什么方法可以根据我的需要进行转换呢 ...... } }
Type t = Type.GetType("System.Int32");
object obj = Activator.CreateInstance(t);
Console.WriteLine(obj.GetType().ToString());
int i = (int)obj;
Console.WriteLine(i);
反射看不明白,我想将p实例化成classname的类要怎么写,这样写报错“未将对象引用设制到对象的实例”
void f(object p,string classname)
{
p = (object)Type.GetType(frmname).GetConstructor(System.Type.EmptyTypes).Invoke(null); // p = new classname
}