Outlook 插件设置和自动实现的属性

Outlook Addin Settings and Auto-Implemented Properties

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

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

我的问题是,如果 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 的更改值。

遇到这种情况我会怎么处理?每次更改选项时,我是否需要确保重新设置 属性?

预先感谢您帮助我消除对自动实现属性的困惑。

是的,属性 只会在创建对象时初始化一次。为什么不总是 return 想要的值?

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