Outlook加载设置和自动实现的属性

时间:2017-03-31 19:00:53

标签: c# outlook-addin

我有一个outlook addin,它在addin选项页面中设置了一些值。然后有属性初始化为设置的值,如下所示:

public string Prop1 { get; } = Properties.Settings.Default.Setting1;

我的问题是,如果在运行时通过addin选项页面更改了Properties.Settings.Default.Setting1的值,该属性是否会反映更改?

根据我的理解,它会生成一个隐藏的后备字段来保存我正在初始化它的属性的值。

所以该属性不等于

public string Prop1 
{
    get {
        return Properties.Settings.Default.Setting1;
    }
}

但是

public string Prop1 
{
    get {
        return hidden_backing_field;
    }
}

这意味着Prop1不会反映Properties.Settings.Default.Setting1的更改值。

我该如何处理这种情况?每次更改选项时,我是否需要确保重新设置属性?

提前感谢您帮助我解决与自动实施的属性混淆的问题。

1 个答案:

答案 0 :(得分:1)

是的,在创建对象时,属性只会初始化一次。为什么不总是返回所需的值?

public string Prop1 
{
    get {
        return Properties.Settings.Default.Setting1;
    }
}