在 C# 中动态地 return 变量结构的字段

Dynamically return fields of variable structure in C#

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

我有几个 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 需要一个数据类型。

提前致谢!

您可以使用:

 struct_type.GetType().GetFields();