title: Is there a way to ignore get-only properties in Json.NET without using JsonIgnore attributes?
body: <p>Is there a way to ignore get-only properties using the <a href="http://james.newtonking.com/projects/json-net.aspx" rel="noreferrer">Json.NET</a> serializer but without using <code>JsonIgnore</code> attributes?</p>
  
  <p>For example, I have a class with these get properties:</p>
  
  <pre><code>    public Keys Hotkey { get; set; }
  
      public Keys KeyCode
      {
          get
          {
              return Hotkey &amp; Keys.KeyCode;
          }
      }
  
      public Keys ModifiersKeys
      {
          get
          {
              return Hotkey &amp; Keys.Modifiers;
          }
      }
  
      public bool Control
      {
          get
          {
              return (Hotkey &amp; Keys.Control) == Keys.Control;
          }
      }
  
      public bool Shift
      {
          get
          {
              return (Hotkey &amp; Keys.Shift) == Keys.Shift;
          }
      }
  
      public bool Alt
      {
          get
          {
              return (Hotkey &amp; 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 &amp;&amp; !IsOnlyModifiers;
          }
      }
  </code></pre>
  
  <p>Do I need to add <code>[JsonIgnore]</code> to all of them (I also have many other classes), or there is better way to ignore all get-only properties?</p>