通过其他变量名C#获取成员变量

时间:2016-07-08 10:45:14

标签: c#

我不确定如何标题这个问题。
我试图通过另一个变量检索一个类的成员变量。让我举个例子来解释一下。

这是我的代码,我试图访问Network类中成员变量的值 (item NOT 我要访问的变量的名称。item包含我尝试访问的变量的字符串)

private void addKeyValuePairRow(string item) {
    addRow(item);
    addKeyLabel(item, false);
    addValueLabel(item);

    if (item.Contains("_"))
        item = item.Replace("_", "");

    setValue(Network[item]);
}

网络类:

public class Network {
    public string DefaultGateway { get; set; }
    public string ExternalIP { get; set; }
    public string SSID { get; set; }
    public string NetworkConnection { get; set; }
    public string NetworkConnectionType { get; set; }
    public string InternetConnection { get; set; }

    ...
}

所以说我试图获得DefaultGateway,这将是我的代码调用方法:

addKeyValuePairRow("Default_Gateway");

我觉得这将是一项相对简单的任务,但无法找到任何内容。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:3)

这样的东西
var src = new Network();
setValue(src.GetType().GetProperty(item).GetValue(src, null));

但是,您还没有定义在您的问题的任何位置实例化网络类的位置。