Merge pull request #409 from Alkarex/patch-1
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _MethodBase.cs
1 //
2 // System.Runtime.InteropServices._MethodBase interface
3 //
4 // Author:
5 //   Kazuki Oikawa  (kazuki@panicode.com)
6 //
7
8 using System;
9 using System.Globalization;
10 using System.Reflection;
11
12 namespace System.Runtime.InteropServices
13 {
14         [CLSCompliant (false)]
15         [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
16         [Guid ("6240837A-707F-3181-8E98-A36AE086766B")]
17 #if !FULL_AOT_RUNTIME
18         [TypeLibImportClass (typeof (MethodBase))]
19 #endif
20         [ComVisible (true)]
21         public interface _MethodBase
22         {
23                 bool Equals (object other);
24                 
25                 object[] GetCustomAttributes (bool inherit);
26                 
27                 object[] GetCustomAttributes (Type attributeType, bool inherit);
28                 
29                 int GetHashCode ();
30
31                 MethodImplAttributes GetMethodImplementationFlags ();
32                 
33                 ParameterInfo[] GetParameters ();
34
35                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
36
37                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
38
39                 void GetTypeInfoCount (out uint pcTInfo);
40
41                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
42                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
43                 
44                 Type GetType ();
45
46                 object Invoke (object obj, object[] parameters);
47                 
48                 object Invoke (object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture);
49                 
50                 bool IsDefined(Type attributeType, bool inherit);
51                 
52                 string ToString ();
53
54                 MethodAttributes Attributes {get;}
55
56                 CallingConventions CallingConvention {get;}
57
58                 Type DeclaringType {get;}
59
60                 bool IsAbstract {get;}
61
62                 bool IsAssembly {get;}
63
64                 bool IsConstructor {get;}
65
66                 bool IsFamily {get;}
67
68                 bool IsFamilyAndAssembly {get;}
69
70                 bool IsFamilyOrAssembly {get;}
71
72                 bool IsFinal {get;}
73
74                 bool IsHideBySig {get;}
75
76                 bool IsPrivate {get;}
77
78                 bool IsPublic {get;}
79
80                 bool IsSpecialName {get;}
81
82                 bool IsStatic {get;}
83
84                 bool IsVirtual {get;}
85
86                 MemberTypes MemberType {get;}
87
88                 RuntimeMethodHandle MethodHandle {get;}
89
90                 string Name {get;}
91
92                 Type ReflectedType {get;}
93         }
94 }