私の WinForms C# アプリケーションで、カスタム クラスを設定ファイルに保存しようとしています。ここに私の現在のコードがあります:
public class PanelSaver : ApplicationSettingsBase
{
private DockingStyle ds;
System.Drawing.Point location;
System.Drawing.Size panelSize;
[UserScopedSetting()]
[SettingsSerializeAs(System.Configuration.SettingsSerializeAs.Xml)]
public DockingStyle Style
{
get { return ds; }
set { ds = value; }
}
public System.Drawing.Point Location
{
get { return location; }
set { location = value; }
}
public System.Drawing.Size Size
{
get { return panelSize; }
set { panelSize = value; }
}
}
DockingStyle 変数は、DevExpress Dockpanels から取得されます。
設定ファイルで使用されているオブジェクトは次のとおりです。
これらの変数をこの関数に渡して使用しようとすると、次のようになります。
private void DockPanelSave(PanelSaver savingPanel, DockPanel realDockingPanel)//
{
try
{
savingPanel.Location = realDockingPanel.Location;
savingPanel.Size = realDockingPanel.Size;
savingPanel.Style = realDockingPanel.Dock;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
throw new NotSupportedException("You may have added a new panel, and may not have added a corresponding " +
"settings variable to hold it in the Settings.settings file");
}
}
null エラーが発生します。
設定ファイルの値を初期化するにはどうすればよいですか? ある種の XML を入力する必要があると推測していますが、それを生成するための正しい手順がわかりません。これまたは私のnullエラーのその他の理由についての指示をいただければ幸いです