我会尽量让自己清楚:)。我想实现某种解释器,并且我希望能够以某种方式将类存储为不是对象,而是更像是蓝图,然后可以用来构造这些类的实例。
例如。
这是一个示例道具文件
[class]
myClass
这是一个示例解析器函数
Dictionary<String^,Type>^ parserios(String^ file)
{
/*bla bla bla parsing and we get **Dictionary<String^,Type>^** thatholds string name of class and its blueprint*/
}
让我们为 BaseClassOfSomeSort “类”制作静态字典,它将保存parserios函数的结果;
现在正在构造函数
BaseClassOfSomeSort^ constructFunct(String^ type, array<Object^>^ args)
{
return gcnew BaseClassOfSomeSort::classes[type](args);
}
我认为可以通过使用 Type::GetType(String^) 函数,然后在返回的 Type 对象上调用 gcnew ,但遗憾的是它不能以这种方式完成。那么有什么办法吗?