C# 获取并设置不被调用

C# 获取并设置不被调用,c#,C#,因此,我在一个程序中有两个字段,用于设置自动消息的电子邮件主题和电子邮件正文 我的电子邮件设置类是: public static class Email { public static string Body { get { return (string) SettingsStore.RetrieveSettingValue("emailBody"); } set { SettingsStore.StoreSetting(new Setting {

因此,我在一个程序中有两个字段,用于设置自动消息的电子邮件主题和电子邮件正文

我的电子邮件设置类是:

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;
}
奇怪的是,Email Settings类中的get和set方法没有被调用——当我在应用程序启动后第一次访问此表单时,即使值在数据库中,字段也是空白的。在我编辑字段一次并关闭表单后,再打开表单(不关闭整个应用程序),字段中有我输入的文本

我在加载和关闭事件上设置了一个断点,这些事件正在被命中。 当我在settings类中的get/set方法上设置断点时,断点不会被命中


有什么想法吗

感谢大家:感谢你们的帮助,我发现了问题所在-问题是Visual Studio,而不是代码

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


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

感谢大家:感谢你们的帮助,我发现了问题所在-问题是Visual Studio,而不是代码

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


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

当您在
应用程序设置\u Load
处设置断点并单步进入代码(使用
F11
)时会发生什么情况?它直接进入对Settings.Email.Subject/.Body的调用,即使在按单步进入时也不会进入。它不应该是
Email.Subject
?您使用的是
设置。电子邮件
对我来说推断出一个实例引用,该引用完全禁止使用
静态
。您有吗?如果您使用ILSpy反汇编包含此代码的程序集,它是否包含get/set属性调用?当您在
应用程序设置\u Load
处设置断点并单步进入代码(使用
F11
)时会发生什么情况?它只会直接进入对Settings.Email.Subject/.Body的调用,即使在按单步进入时也不会进入。它不应该是
Email.Subject
?您正在使用
Settings.Email
,对我来说,它推断出一个实例引用,该引用完全使
static
的使用无效。您有吗?如果您使用ILSpy反汇编包含此代码的程序集,它是否包含get/set属性调用?