C#设置get,为什么值没设置?

时间:2014-02-07 20:03:24

标签: c# get set

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

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;
    } 
}

1 个答案:

答案 0 :(得分:5)

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

node.InnerText = databaseFolder;

应该是:

node.InnerText = value;

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