如何通过字符串数组创建实例
本文关键字:创建 实例 数组 字符串 何通过 | 更新日期: 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。