在 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();
我可以想象这个问题有一个相对简单的解决方案,但是到目前为止我一直在寻找但没有成功。
我有几个 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();