title: Validating by attribute
body: <p>I would like to check by attribute that value passed to method is correct, because adding if condition to method body make code less readable (in my opinion)</p>
  
  <p>For example,</p>
  
  <pre><code>    public object GetSomething(int id)
      {
          // there could be more conditions
          if (id&lt;= 0)
              throw new ArgumentOutOfRangeException(nameof(id), $"Forbiden value: '{id}'");
          // real logic
          ...
  </code></pre>
  
  <p>I want to check it is such way</p>
  
  <pre><code>    [PossitiveValueAttr(id)]
      public object GetSomething(int id)
      {
          // real logic
  </code></pre>
  
  <p>or (I would prefer that)</p>
  
  <pre><code>    public object GetSomething([PossitiveValueAttr] int id)
      {
          // real logic
  </code></pre>
  
  <p>1) Do you know any similar existing solution?</p>
  
  <p>2) How can I pass method's argument to my attribute?</p>