<p>Is there any way to get the custom attributes of a specific object I am receiving in a method?</p>

<p>I do not want nor can to iterate over Type.GetMembers() and search for my member. I have the object, which is also a member, that has the attribute.</p>

<p>How do I get the attribute?</p>

<pre><code>class Custom
{
    [Availability]
    private object MyObject = "Hello";

    private void Do(object o)
    {
        //does object 'o' has any custom attributes of type 'Availability'?
    }

    //somewhere I make the call: Do(MyObject)

}
</code></pre>

You cannot do this without at least 1 Reflection call. After that, save the value somehow.
Example:
```
```
abstract MyBase
{
  public string Name;
  protected MyBase()
  {
    //look up value of Name attribute and assign to Name
  } 
}

[Name("Foo")]
class MyClass : MyBase
{
}
```
```