Json.NETシリアライザを使用し、JsonIgnore
属性を使用しないで取得専用プロパティを無視する方法はありますか?JsonIgnore属性を使用せずにJson.NETでget-onlyプロパティを無視する方法はありますか?
は例えば、私はこれらを持つクラスを持って取得するプロパティ:
public Keys Hotkey { get; set; }
public Keys KeyCode
{
get
{
return Hotkey & Keys.KeyCode;
}
}
public Keys ModifiersKeys
{
get
{
return Hotkey & Keys.Modifiers;
}
}
public bool Control
{
get
{
return (Hotkey & Keys.Control) == Keys.Control;
}
}
public bool Shift
{
get
{
return (Hotkey & Keys.Shift) == Keys.Shift;
}
}
public bool Alt
{
get
{
return (Hotkey & Keys.Alt) == Keys.Alt;
}
}
public Modifiers ModifiersEnum
{
get
{
Modifiers modifiers = Modifiers.None;
if (Alt) modifiers |= Modifiers.Alt;
if (Control) modifiers |= Modifiers.Control;
if (Shift) modifiers |= Modifiers.Shift;
return modifiers;
}
}
public bool IsOnlyModifiers
{
get
{
return KeyCode == Keys.ControlKey || KeyCode == Keys.ShiftKey || KeyCode == Keys.Menu;
}
}
public bool IsValidKey
{
get
{
return KeyCode != Keys.None && !IsOnlyModifiers;
}
}
私は(私も他の多くのクラスを持っている)それらのすべてに[JsonIgnore]
を追加する必要がある、またはすべて無視する良い方法はありますか取得専用プロパティ?
どのようにSETなしのプロパティのみを無視しますか?そしてパブリック文字列のようにプライベートセットを持つときにはまだシリアル化します。Name {get;プライベートセット; }? –