This class implements MemberInfo and represents a declared property on a type. CanRead and CanWrite check whether this property has get or set behaviors defined. These methods can be inspected directly (as MethodInfo instances) by calling GetGetMethod( ) and GetSetMethod( ) , or together by calling GetAccessors( ) , which returns an array of all defined accessors. If the property is an indexer, GetIndexParameters( ) returns parameters to access the indexer. GetValue( ) and SetValue( ) allow the instance of this property to be set or retrieved; these act as a shortcut to calling Invoke on the methods returned from GetGetMethod( ) or GetSetMethod( ) . public abstract class PropertyInfo : MemberInfo { // Protected Constructors protected PropertyInfo ( ); // Public Instance Properties public abstract PropertyAttributes Attributes {get; } public abstract bool CanRead {get; } public abstract bool CanWrite {get; } public bool IsSpecialName {get; } public override MemberTypes MemberType {get; } // overrides MemberInfo public abstract Type PropertyType {get; } // Public Instance Methods public MethodInfo[ ] GetAccessors ( ); public abstract MethodInfo[ ] GetAccessors (bool nonPublic ); public MethodInfo GetGetMethod ( ); public abstract MethodInfo GetGetMethod (bool nonPublic ); public abstract ParameterInfo[ ] GetIndexParameters ( ); public MethodInfo GetSetMethod ( ); public abstract MethodInfo GetSetMethod (bool nonPublic ); public abstract object GetValue (object obj , BindingFlags invokeAttr , Binder binder , object[ ] index , System.Globalization.CultureInfo culture ); public virtual object GetValue (object obj , object[ ] index ); public abstract void SetValue (object obj , object value , BindingFlags invokeAttr , Binder binder , object[ ] index , System.Globalization.CultureInfo culture ); public virtual void SetValue (object obj , object value , object[ ] index ); } HierarchySystem.Object MemberInfo(ICustomAttributeProvider) PropertyInfo SubclassesSystem.Reflection.Emit.PropertyBuilder Returned ByBinder.SelectProperty( ) , IReflect.{GetProperties( ) , GetProperty( )} , System.Runtime.InteropServices.Expando.IExpando.AddProperty( ) , System.Type.{GetProperties( ) , GetProperty( ) , GetPropertyImpl( )} Passed ToBinder.SelectProperty( ) , System.Reflection.Emit.CustomAttributeBuilder.CustomAttributeBuilder( ) |