Merge pull request #409 from Alkarex/patch-1
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _MemberInfo.cs
1 //
2 // System.Runtime.InteropServices._MemberInfo interface
3 //
4 // Author:
5 //   Kazuki Oikawa  (kazuki@panicode.com)
6 //
7
8 using System;
9 using System.Reflection;
10
11 namespace System.Runtime.InteropServices
12 {
13         [CLSCompliant (false)]
14         [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
15         [Guid ("f7102fa9-cabb-3a74-a6da-b4567ef1b079")]
16 #if !FULL_AOT_RUNTIME
17         [TypeLibImportClass (typeof (MemberInfo))]
18 #endif
19         [ComVisible (true)]
20         public interface _MemberInfo
21         {
22                 bool Equals (object other);
23
24                 object[] GetCustomAttributes (bool inherit);
25
26                 object[] GetCustomAttributes (Type attributeType, bool inherit);
27
28                 int GetHashCode ();
29
30                 Type GetType ();
31                 
32                 bool IsDefined (Type attributeType, bool inherit);
33
34                 string ToString ();
35
36                 Type DeclaringType {get;}
37
38                 MemberTypes MemberType {get;}
39
40                 string Name {get;}
41
42                 Type ReflectedType {get;}
43
44                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
45
46                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
47
48                 void GetTypeInfoCount (out uint pcTInfo);
49
50                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
51                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
52         }
53 }