在C#中动态返回变量结构的字段

时间:2015-01-20 11:33:20

标签: c# object struct typeof

我可以想象这个问题有一个相对简单的解决方案,但到目前为止我一直没有成功。

我有几个structs来保存我的程序中的数据,例如Data_Type1, Data_Type2等等。所有这些结构都有字段,我想动态访问这些字段,例如获取具有相应值和字段名称的字符串数组。到目前为止,这是通过以下方式完成的:

public string[] GetFieldsAsStringFromTypeX(object struct_type)
{
var fields = typeof(Data_TypeX).GetFields();
foreach (var field in fields)
    // do sth
}

现在的问题是如何动态确定Data_TypeX。像这样的东西

public string[] GetFieldsAsStringFromTypeX(object struct_type)
{
var fields = typeof(struct_type).GetFields();
foreach (var field in fields)
    // do sth
}

不起作用,因为typeof期望数据类型。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以使用:

 struct_type.GetType().GetFields();