繁体   English   中英

如何在 C# 中使用反射从 class 的成员获取 object 值?

[英]How can I use reflection in C# to get object value from a member of a class?

如何在 C# 中使用反射从 class 的成员获取 object 值?

我有:

public class Class1 {
   public int field1;
   public String field2;
}

public class Class2 {
   public ind code;
   public Class1 classRef;
}

我想获取“classRef”值的成员列表。

我认为这很接近

var c2 = new Class2 
                { 
                  code = 3; 
                  Class1 = new Class1 
                  {
                      field1 = 7; 
                      field2 = "class 1"
                  }
                };

var fields = c2.GetType().GetFields();
var field = fields.Where(fi=>fi.Name == "classRef").FirstOrDefault();
Assert.True(field != null);
var value = field.GetValue(c2) as Class1;

Assert.True(value != null);
Assert.True(value.field1 == 7);
Assert.True(value.field2 == "class 1");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM