gpt4 book ai didi

c# - 尝试使用自定义类进行用户设置时出现 NotImplementedException

转载 作者:行者123 更新时间:2023-12-05 07:32:56 24 4
gpt4 key购买 nike

我正在尝试将窗口位置保存为用户设置,以便在我的应用程序启动时恢复它。我使用这种类型的设计器添加了一个设置:

using System.Configuration;

namespace MyApp.Framework
{
[SettingsSerializeAs(SettingsSerializeAs.Xml)]
public class SavedWindowSettings
{
public double Left { get; set; }
public double Top { get; set; }

public SavedWindowSettings()
{
}

public SavedWindowSettings(double left, double top)
{
Left = left;
Top = top;
}
}
}

它编译,但是当我运行时我得到

System.NotImplementedException: 'The method or operation is not implemented.'

但调用堆栈中的最后一件事是

PresentationFramework.dll!System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlType(System.Windows.Baml2006.Baml2006SchemaContext.BamlType bamlType, short typeId)

这没什么用。我认为这与 App.config 有关。如果我将设置的类型更改为字符串,我的 App.config 有

     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>

     <userSettings>
<MyApp.Properties.Settings>
<setting name="MainWindowPlacement" serializeAs="String">
<value />
</setting>
</MyApp.Properties.Settings>
</userSettings>

部分。我尝试将它们重新添加,将 serializeAs 更改为 xml,但出现相同的异常。我错过了什么?

最佳答案

尖叫的第一件事是您没有为 LeftTop 定义 setter。你为什么没有:

public double Left { get; set; }
public double Top { get; set; }

异常可能来自运行时报告没有设置 Prop 的方法。

关于c# - 尝试使用自定义类进行用户设置时出现 NotImplementedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50915449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com