---
# System prepended metadata

title: C# WinForm デザイナクラスに初期値のプロパティを生成しない方法 2022-02-14
tags: [ShouldSerialize, WinForm, C#]

---

---
lang: ja-jp
breaks: true
---
# C# WinForm デザイナクラスに初期値のプロパティを生成しない方法 2022-02-14

```csharp=
/// <summary>
/// 本コントロールのフォントを取得・設定します。
/// </summary>
[Category("カスタム")]
[Description("本コントロールのフォントを取得・設定します。")]
public new Font Font
{
	get { return base.Font; }
	set { base.Font = value; }
}
private bool ShouldSerializeFont() { return base.Font != FontDefault.FontControl; }
```

:::info
`ShouldSerialize` ＋ プロパティ名でメソッドを作成する。 
:::

```csharp=
public static readonly Font FontControl = new Font("MS UI Gothic", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128)));
```

:::info
定数値をデフォルトにする場合は、通常 `[DefaultValue(＊＊＊)]` 属性で設定する。
:::

###### tags: `WinForm` `C#` `ShouldSerialize`
