从C#

时间:2019-03-10 07:28:24

标签: c# properties

我正在尝试读取Excel数据并将其批量上传到SQL数据库的各个表中。在我的Excel工作表中,工作表的名称表示需要在其中插入数据的数据库表名称。

因此,在下面的var "tablename"中,代码由工作表名称组成,我需要在typeof(____)中传递相应的表模型类,以获取表列名称,此后,表列名称来自模型的数据将与数据库表的列名进行比较,然后将执行批量上传操作。

所以任何人都可以帮助我将存储在tableName中的值作为类传递给:

typeof(_______).GetProperties().Select(p => p.Name);

代码:

var tableName = employeeData.TableName;

var sourceColumnList = typeof(ConsentReportSheetTableInfo).GetProperties().Select(p => p.Name);

2 个答案:

答案 0 :(得分:2)

您可以尝试

var sourceColumnList = Type.GetType(employeeData.TableName).GetProperties().Select(p => p.Name);

答案 1 :(得分:1)

最简单的方法是使用Assembly.GetType(name)

因此,您可以使用类似的内容:

var assembly = Assembly.GetExecutingAssembly();
var type = assembly.GetType(tableName);
var properties = type.GetProperties().Select(p => p.Name);

(当然,这假定类型在执行的程序集中。)

您可以找到带有示例here的官方文档。