【问题标题】:C# set get, why value does not set? [closed]C# set get,为什么不设置值? [关闭]
【发布时间】:2014-02-07 20:03:23
【问题描述】:

为什么这段代码没有设置值?我在这里做错了什么?

public string databaseFolder
{
    set
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(configPath);
        XmlNode node = xmldoc.SelectSingleNode("//Settings/DatabaseFolder");
        node.InnerText = databaseFolder;
        xmldoc.Save(configPath);
    }
    get
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(configPath);
        XmlNode node = xmldoc.SelectSingleNode("//Settings/DatabaseFolder");
        return node.InnerText;
    } 
}

【问题讨论】:

    标签: c# get set


    【解决方案1】:

    您没有在set 中设置属性databaseFolder。而不是:

    node.InnerText = databaseFolder;
    

    应该是:

    node.InnerText = value;
    

    我不太确定您为什么要这样使用您的财产。您最好将此逻辑提取到您的方法中,而不是使用 setter 和 getter。

    【讨论】:

    • 非常感谢,不知道我是怎么错过的。
    • @NetInfo,不客气
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    相关资源
    最近更新 更多