在RunTime创建实例

时间:2013-05-28 12:21:43

标签: c# reflection dataset strongly-typed-dataset system.reflection

以下是命名空间文件中的类

 1. File01DataTable
 2. File02DataTable 
 3. File03DataTable
 4. File04DataTable
 5. File05DataTable
 6. File06DataTable

现在我想在运行时创建实例。如果文件是File01,那么应该创建File01DataTable的实例,依此类推。如果不是,则不应该是if。

应该是常见的,而不是实例化File01DataTable
File01DataTable dt = (File01DataTable)tDS.Tables[filename];

我以为我可以这样做

string dataTableName = filename + "DataTable";
dataTableName dt = (dataTableName)tDS.Tables[filename];

但很遗憾地说这不是正确的方法。这里tDS是Files的实例,你可以忽略它。有什么建议?
在此先感谢。

1 个答案:

答案 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);