This is the abstract base for classes that represent the member of
class, such as properties and events (e.g.,
PropertyDescriptor and
EventDescriptor). You can get the
Name and DisplayName of the
member.
In addition, you can get the collection of
Attributes adorning the member. It also provides a
set of utility accessors that indicate the values of particular
attribute types: the Category,
Description, DesignTimeOnly,
and IsBrowsable members.
public abstract class MemberDescriptor {
// Protected Constructors
protected MemberDescriptor(MemberDescriptor descr);
protected MemberDescriptor(MemberDescriptor oldMemberDescriptor, Attribute[] newAttributes);
protected MemberDescriptor(string name);
protected MemberDescriptor(string name, Attribute[] attributes);
// Public Instance Properties
public virtual AttributeCollection Attributes{get; }
public virtual string Category{get; }
public virtual string Description{get; }
public virtual bool DesignTimeOnly{get; }
public virtual string DisplayName{get; }
public virtual bool IsBrowsable{get; }
public virtual string Name{get; }
// Protected Instance Properties
protected virtual Attribute[] AttributeArray{set; get; }
protected virtual int NameHashCode{get; }
// Protected Static Methods
protected static MethodInfo FindMethod(Type componentClass, string name, Type[] args, Type returnType);
protected static MethodInfo FindMethod(Type componentClass, string name, Type[] args, Type returnType,
bool publicOnly);
protected static object GetInvokee(Type componentClass, object component);
protected static ISite GetSite(object component);
// Public Instance Methods
public override bool Equals(object obj); // overrides object
public override int GetHashCode(); // overrides object
// Protected Instance Methods
protected virtual AttributeCollection CreateAttributeCollection();
protected virtual void FillAttributes(System.Collections.IList attributeList);
}