首页 > 解决方案 > 将字符串转换为类成员的名称c#

问题描述

假设我有以下类,并且我有一个用一些值创建的对象(让它被称为“obj1”)。-

public class parameters
{
   public string TYPE { get; set; }
   public string label { get; set; }
   public string prev { get; set; }
}
parameters obj1 = new parameters();
obj1.TYPE = "asdf";

假设我有一个字符串表示成员名称之一

string member_name = "TYPE";

我如何访问基于对象 obj1 的字符串中的任何名称的值?

var val = obj1.member_name ?

标签: c#

解决方案


您可以使用反射获得它:

var propertyInfo = typeof(parameters).GetProperty(member_name);
var propertyValue = propertyInfo.GetValue(obj1) as string;

推荐阅读