三层架构 里的model层 作为实体对象 以及 已知的字段名称 传入方法中,然后调用字段名称来获取字段对应的值。
如
Package1.Model.I_C_PC IcPcl = new Package1.Model.I_C_PC();
string str = ziduanming;
这个方法应该如何写?麻烦各位大侠指导一下.
10 个解决方案
#1
Type t = Test.GetType().GetProperty("Property1").GetValue(b, null).GetType();
foreach (PropertyInfo info in TEST.GetType().GetProperty("Property1").GetValue(TEST, null).GetType().GetProperties())
{
MessageBox.Show(string.Format("{0}={1}",info.Name,info.GetValue(TEST.Property1,null)));
}
foreach (PropertyInfo info in TEST.GetType().GetProperty("Property1").GetValue(TEST, null).GetType().GetProperties())
{
MessageBox.Show(string.Format("{0}={1}",info.Name,info.GetValue(TEST.Property1,null)));
}
#2
查看了其他 帖子说是可以通过反射进行查找
但是我传model进这个方法后 这段代码不知道应该如何修改field都是null值
public static object FindField(object container, string fieldName)
{
object obj = null;
System.Reflection.BindingFlags bindingFlags = System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Static;
System.Reflection.FieldInfo field = container.GetType().GetField(fieldName, bindingFlags);
if (field != null)
{
obj = field.GetValue(container);
}
return obj;
}
但是我传model进这个方法后 这段代码不知道应该如何修改field都是null值
#3
想 请问下这里 Test 是指 我的model吗? GetValue(b, null) 这里的b是字段名是吗? 那
#4
其实就是C#中的反射。可以看一下反射相关内容。
#5
能详细 解释下吗
#6
#7
老师带小朋友到山上玩,小明看到一条牛没有犄角,就问老师:“老师,老师,为什么这条牛没有犄角啊?”
小强抢着回答:“因为它得病了”。
老师说:“不对”。
小伟说:“因为它跟别的牛格斗,把犄角斗没了”。
老师说:“也不对”。
“那是为什么呢?”小强问。
“因为它是一头驴..”老师说。
汗........
狂汗......
#8
顶............
#9
顶............
#10
没人吗
#1
Type t = Test.GetType().GetProperty("Property1").GetValue(b, null).GetType();
foreach (PropertyInfo info in TEST.GetType().GetProperty("Property1").GetValue(TEST, null).GetType().GetProperties())
{
MessageBox.Show(string.Format("{0}={1}",info.Name,info.GetValue(TEST.Property1,null)));
}
foreach (PropertyInfo info in TEST.GetType().GetProperty("Property1").GetValue(TEST, null).GetType().GetProperties())
{
MessageBox.Show(string.Format("{0}={1}",info.Name,info.GetValue(TEST.Property1,null)));
}
#2
查看了其他 帖子说是可以通过反射进行查找
但是我传model进这个方法后 这段代码不知道应该如何修改field都是null值
public static object FindField(object container, string fieldName)
{
object obj = null;
System.Reflection.BindingFlags bindingFlags = System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Static;
System.Reflection.FieldInfo field = container.GetType().GetField(fieldName, bindingFlags);
if (field != null)
{
obj = field.GetValue(container);
}
return obj;
}
但是我传model进这个方法后 这段代码不知道应该如何修改field都是null值
#3
想 请问下这里 Test 是指 我的model吗? GetValue(b, null) 这里的b是字段名是吗? 那
#4
其实就是C#中的反射。可以看一下反射相关内容。
#5
能详细 解释下吗
#6
#7
老师带小朋友到山上玩,小明看到一条牛没有犄角,就问老师:“老师,老师,为什么这条牛没有犄角啊?”
小强抢着回答:“因为它得病了”。
老师说:“不对”。
小伟说:“因为它跟别的牛格斗,把犄角斗没了”。
老师说:“也不对”。
“那是为什么呢?”小强问。
“因为它是一头驴..”老师说。
汗........
狂汗......
#8
顶............
#9
顶............
#10
没人吗