在运行时创建实例



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

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

现在我想在运行时创建实例。如果文件是File01,那么应该创建File01DataTable的实例,以此类推。不应该有其他的如果。它应该是通用的,而不是遵循实例化File01DataTable。

File01DataTable dt = (File01DataTable)tDS.Tables[filename];

我想我可以这样做

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

但很抱歉,这不是正确的方式。这里tDS是Files的实例,或者您可以忽略它。任何建议吗?

您可以使用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);

相关内容

  • 没有找到相关文章

最新更新