如何解决C#我可以按名称或索引访问结构的成员吗?
是否可以通过其名称/索引访问结构的公共成员?
例如,如果我有:
struct Person
{
int id;
string surname;
}
Person person;
是否可以仅使用字符串“ id”或整数索引0获得person.id
?
还是要获得带有字符串“姓氏”或整数索引1的person.surname
?
解决方法
您可以使用reflection按名称(在此情况下为字段)获取成员:
var p = new Person();
var fieldInfo = p.GetType().GetField("id",BindingFlags.NonPublic | BindingFlags.Instance);
Console.WriteLine(fieldInfo.GetValue(p)); // prints 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。