如何通过字符串数组创建实例

本文关键字:创建 实例 数组 字符串 何通过 | 更新日期: 2023-09-27 17:59:45

我有15个字符串值。例如:excel表格名称:客户、产品等。这些表格的名称与数据库表以及Ef 4.0实体名称相同。(产品、客户)


String[] excelSheets = GetExcelSheetNames(String.Format(@"C:'{0}'{1}", UserName, FileUploadForExcel.FileName));
foreach (String excelSheet in excelSheets)
 {
      GetEntity(excelSheet);
 }
protected TModel GetEntity(string ClassNameFromExcelSheetName)
{
   return(TModel)Activator.CreateInstance(ClassNameFromExcelSheetName);
}

上面的代码是一种简单的预见。不是真正的代码。如何只使用字符串值创建实例?

如何通过字符串数组创建实例

您可以使用.NET反射在字符串表示中逐个类名创建类的实例

仔细阅读以下文章:http://www.codeproject.com/KB/dotnet/Reflection.aspx

System.Reflection.Assembly assem = Assembly.Load("");
object thisObj = assem.CreateInstance("Customers");
foreach (PropertyInfo pi in thisObj.GetType().GetProperties)
{
   // List all properties in object 
   ...
}

您可能可以使用某种Factory设计模式(http://en.wikipedia.org/wiki/Abstract_factory_pattern)

您必须自己创建这些实例,也许可以使用AutoMapper。