2 // System.Reflection/PropertyInfo.cs
5 // Paolo Molaro (lupus@ximian.com)
7 // (C) 2001 Ximian, Inc. http://www.ximian.com
11 using System.Reflection;
12 using System.Globalization;
14 namespace System.Reflection {
16 public abstract class PropertyInfo : MemberInfo {
18 public abstract PropertyAttributes Attributes {get;}
19 public abstract bool CanRead {get;}
20 public abstract bool CanWrite {get;}
22 public bool IsSpecialName {
23 get {return (Attributes & PropertyAttributes.SpecialName) != 0;}
26 public override MemberTypes MemberType {
27 get {return MemberTypes.Property;}
29 public abstract Type PropertyType {get;}
31 protected PropertyInfo() {
34 public MethodInfo[] GetAccessors() {
35 return GetAccessors (false);
37 public abstract MethodInfo[] GetAccessors( bool nonPublic);
38 public MethodInfo GetGetMethod() {
39 return GetGetMethod (false);
41 public abstract MethodInfo GetGetMethod( bool nonPublic);
42 public abstract ParameterInfo[] GetIndexParameters();
43 public MethodInfo GetSetMethod() {
44 return GetSetMethod (false);
46 public abstract MethodInfo GetSetMethod( bool nonPublic);
47 public virtual object GetValue( object obj, object[] index) {
50 public abstract object GetValue( object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);
51 public virtual void SetValue( object obj, object value, object[] index) {
53 public abstract void SetValue( object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);