Merge pull request #498 from Unroll-Me/master
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _PropertyInfo.cs
index 483ddae1d4ec7e1319490c76f0d02ce38770aae3..12855f7862f822f3cbadda0a11e9606b4a03c378 100644 (file)
@@ -1,76 +1,86 @@
-//\r
-// System.Runtime.InteropServices._PropertyInfo interface\r
-//\r
-// Author:\r
-//   Kazuki Oikawa  (kazuki@panicode.com)\r
-//\r
-\r
-#if NET_2_0\r
-\r
-using System;\r
-using System.Globalization;\r
-using System.Reflection;\r
-\r
-namespace System.Runtime.InteropServices\r
-{\r
-       [CLSCompliant (false)]\r
-       [InterfaceType (ComInterfaceType.InterfaceIsDual)]\r
-       [Guid ("F59ED4E4-E68F-3218-BD77-061AA82824BF")]\r
-       public interface _PropertyInfo\r
-       {\r
-               bool Equals (object obj);\r
-\r
-               MethodInfo[] GetAccessors ();\r
-\r
-               MethodInfo[] GetAccessors (bool nonPublic);\r
-\r
-               object[] GetCustomAttributes (bool inherit);\r
-\r
-               object[] GetCustomAttributes (Type attributeType, bool inherit);\r
-\r
-               MethodInfo GetGetMethod ();\r
-\r
-               MethodInfo GetGetMethod (bool nonPublic);\r
-\r
-               int GetHashCode ();\r
-\r
-               ParameterInfo[] GetIndexParameters ();\r
-\r
-               MethodInfo GetSetMethod ();\r
-\r
-               MethodInfo GetSetMethod (bool nonPublic);\r
-\r
-               Type GetType ();\r
-\r
-               object GetValue (object obj, object[] index);\r
-\r
-               object GetValue (object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);\r
-\r
-               bool IsDefined (Type attributeType, bool inherit);\r
-\r
-               void SetValue (object obj, object value, object[] index);\r
-\r
-               void SetValue (object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);\r
-               \r
-               string ToString ();\r
-\r
-               PropertyAttributes Attributes {get;}\r
-\r
-               bool CanRead {get;}\r
-\r
-               bool CanWrite {get;}\r
-\r
-               Type DeclaringType {get;}\r
-\r
-               bool IsSpecialName {get;}\r
-\r
-               MemberTypes MemberType {get;}\r
-\r
-               string Name {get;}\r
-\r
-               Type PropertyType {get;}\r
-\r
-               Type ReflectedType {get;}\r
-       }\r
-}\r
-#endif
\ No newline at end of file
+//
+// System.Runtime.InteropServices._PropertyInfo interface
+//
+// Author:
+//   Kazuki Oikawa  (kazuki@panicode.com)
+//
+
+using System;
+using System.Globalization;
+using System.Reflection;
+
+namespace System.Runtime.InteropServices
+{
+       [CLSCompliant (false)]
+       [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
+       [Guid ("F59ED4E4-E68F-3218-BD77-061AA82824BF")]
+#if !FULL_AOT_RUNTIME
+       [TypeLibImportClass (typeof (PropertyInfo))]
+#endif
+       [ComVisible (true)]
+       public interface _PropertyInfo
+       {
+               bool Equals (object other);
+
+               MethodInfo[] GetAccessors ();
+
+               MethodInfo[] GetAccessors (bool nonPublic);
+
+               object[] GetCustomAttributes (bool inherit);
+
+               object[] GetCustomAttributes (Type attributeType, bool inherit);
+
+               MethodInfo GetGetMethod ();
+
+               MethodInfo GetGetMethod (bool nonPublic);
+
+               int GetHashCode ();
+
+               ParameterInfo[] GetIndexParameters ();
+
+               MethodInfo GetSetMethod ();
+
+               MethodInfo GetSetMethod (bool nonPublic);
+
+               void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
+
+               void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
+
+               void GetTypeInfoCount (out uint pcTInfo);
+
+               void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
+                       IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
+
+               Type GetType ();
+
+               object GetValue (object obj, object[] index);
+
+               object GetValue (object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);
+
+               bool IsDefined (Type attributeType, bool inherit);
+
+               void SetValue (object obj, object value, object[] index);
+
+               void SetValue (object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture);
+               
+               string ToString ();
+
+               PropertyAttributes Attributes {get;}
+
+               bool CanRead {get;}
+
+               bool CanWrite {get;}
+
+               Type DeclaringType {get;}
+
+               bool IsSpecialName {get;}
+
+               MemberTypes MemberType {get;}
+
+               string Name {get;}
+
+               Type PropertyType {get;}
+
+               Type ReflectedType {get;}
+       }
+}