0

所以我在一个程序中有几个字段来设置自动消息的电子邮件主题和电子邮件正文。

我的电子邮件设置类是这样的:

public static class Email
{
    public static string Body
    {
        get { return (string) SettingsStore.RetrieveSettingValue("emailBody"); }
        set { SettingsStore.StoreSetting(new Setting {SettingKey = "emailBody", 
                SettingValue = value}); }
    }

    public static string Subject
    {
        get { return (string) SettingsStore.RetrieveSettingValue("emailSubject"); }
        set { SettingsStore.StoreSetting(new Setting {SettingKey = "emailSubject",
                SettingValue = value}); }
    }
}

我获取和设置值的 UI 代码在这里:

private void ApplicationSettings_Load(object sender, EventArgs e)
{
    subjectTextEdit.Text = Settings.Email.Subject;
    bodyTextEdit.Text = Settings.Email.Body;
}

private void ApplicationSettings_FormClosing(object sender, FormClosingEventArgs e)
{
    Settings.Email.Subject = subjectTextEdit.Text;
    Settings.Email.Body = bodyTextEdit.Text;
}

奇怪的是,我在电子邮件设置类中的 get 和 set 方法没有被调用——当我在应用程序启动后第一次访问此表单时,即使值在数据库中,字段也是空白的。在我编辑一次字段并关闭该表单然后再次打开表单(不关闭整个应用程序)之后,这些字段具有我放入其中的文本。

我在 _Load 和 _FormClosing 事件上设置了一个断点,这些都受到了影响。当我在设置类中的 get/set 方法上设置断点时,断点没有被命中。

有任何想法吗?

4

1 回答 1

3

致大家:感谢您的帮助,我找到了问题 - 问题是 Visual Studio,而不是代码。

我关闭 VS,重新启动 PC,打开 VS,清理解决方案,关闭,重新打开,构建。我的一个引用程序集中出现了一个错误,在我构建这次出现的项目的所有其他时间都没有出现,修复该错误导致所有这些都正常工作。

如果没有你的帮助,我永远不会找到这个(我仍然会挠头想知道我的代码是怎么错的)所以非常感谢你们!:)

于 2013-07-10T17:18:16.900 回答