感激地从其他各个职位上借阅后,我得到了很好的工作:
public string ShowCandle01(ref TYPE_Candle01 Candle)
{
string S = "";
foreach (var field in typeof(TYPE_Candle01).GetFields(BindingFlags.Instance |
BindingFlags.NonPublic |
BindingFlags.Public))
{
S = S + field.Name + ": " + field.GetValue(Candle).ToString() + "\n";
}
return S;
}
但我真正想要的是一个迭代任何结构实例的方法,而不明确知道它的名字,如:
public string ShowAnyStruct(ref Object Whatever)
我似乎无法做到这一点。提前感谢您的先进智慧!答案 0 :(得分:3)
我认为你想要的是通用方法:
public string ShowAnyStruct<TStruct>(TStruct val) where TStruct: struct
{
string s = "";
foreach (var field in typeof(TStruct).GetFields(BindingFlags.Instance |
BindingFlags.NonPublic |
BindingFlags.Public))
{
s += field.Name + ": " + field.GetValue(Candle).ToString() + "\n";
}
return s;
}
当然,没有任何理由将其限制为结构,因此如果删除约束,也可以将其与引用类型一起使用。
答案 1 :(得分:1)
你可以尝试
$(function() {
$('body').on('click', '.btn-group button', function (e) {
$(this).addClass('active');
$(this).siblings().removeClass('active');
//other things I need to do
})
});
whatever.GetType().GetFields ....