title: "Property set method not found" error during reflection
body: <p>I'm trying to reflect over some class properties and set them programmatically, but it looks like one of my PropertyInfo filters isn't working:</p>
  <pre><code>//Get all public or private non-static properties declared in this class (no inherited properties) - that have a getter and setter.
  PropertyInfo[] props = this.GetType().GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty );
  </code></pre>
  <p>I'm getting an error on the line</p>
  <pre><code>pi.SetValue(this, valueFromData, null);
  </code></pre>
  <p>Because the property has only a <code>get{}</code> method, no <code>set{}</code> method.</p>
  <p>My question is, why wasn't this property filtered out of props? I thought that was the purpose of BindingFlags.SetProperty.</p>
  <p>The property not getting filtered out is:</p>
  <pre><code>    public String CollTypeDescription
      {
          get { return _CollTypeDescription; }
      }
  </code></pre>
  <p>Note that I want to filter properties that won't work ahead of time because I'm listing them all at once. I <strong>don't want to use</strong> <code>pi.GetSetMethod()</code> after the fact to determine whether I can use the setter.</p>