以下是命名空间文件中的类
1. File01DataTable
2. File02DataTable
3. File03DataTable
4. File04DataTable
5. File05DataTable
6. File06DataTable
现在我想在运行时创建实例。如果文件是File01,那么应该创建File01DataTable的实例,依此类推。如果不是,则不应该是if。
应该是常见的,而不是实例化File01DataTableFile01DataTable dt = (File01DataTable)tDS.Tables[filename];
我以为我可以这样做
string dataTableName = filename + "DataTable";
dataTableName dt = (dataTableName)tDS.Tables[filename];
但很遗憾地说这不是正确的方法。这里tDS是Files的实例,你可以忽略它。有什么建议?
在此先感谢。
答案 0 :(得分:0)
您可以使用 Activator.CreateInstance(Type type) 方法从名称中获取类的实例。
例如,在我的应用程序中,我有类似的myClass类:
class myClass
{
public string myField;
}
然后你就可以得到这个类的实例:
Type myType = Type.GetType("Your_app_namespace.class_name"); // for me FarhadApp.myClass
object obj = Activator.CreateInstance(myType);