Merge pull request #487 from mayerwin/patch-1
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _MethodInfo.cs
1 //
2 // System.Runtime.InteropServices._MethodInfo 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 ("FFCC1B5D-ECB8-38DD-9B01-3DC8ABC2AA5F")]
17 #if !FULL_AOT_RUNTIME
18         [TypeLibImportClass (typeof (MethodInfo))]
19 #endif
20         [ComVisible (true)]
21         public interface _MethodInfo
22         {
23                 bool Equals (object other);
24
25                 MethodInfo GetBaseDefinition();
26                 
27                 object[] GetCustomAttributes (bool inherit);
28                 
29                 object[] GetCustomAttributes (Type attributeType, bool inherit);
30                 
31                 int GetHashCode ();
32
33                 MethodImplAttributes GetMethodImplementationFlags ();
34                 
35                 ParameterInfo[] GetParameters ();
36
37                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
38
39                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
40
41                 void GetTypeInfoCount (out uint pcTInfo);
42
43                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
44                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
45
46                 Type GetType ();
47
48                 object Invoke (object obj, object[] parameters);
49                 
50                 object Invoke (object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture);
51                 
52                 bool IsDefined(Type attributeType, bool inherit);
53                 
54                 string ToString ();
55
56                 MethodAttributes Attributes {get;}
57
58                 CallingConventions CallingConvention {get;}
59
60                 Type DeclaringType {get;}
61
62                 bool IsAbstract {get;}
63
64                 bool IsAssembly {get;}
65
66                 bool IsConstructor {get;}
67
68                 bool IsFamily {get;}
69
70                 bool IsFamilyAndAssembly {get;}
71
72                 bool IsFamilyOrAssembly {get;}
73
74                 bool IsFinal {get;}
75
76                 bool IsHideBySig {get;}
77
78                 bool IsPrivate {get;}
79
80                 bool IsPublic {get;}
81
82                 bool IsSpecialName {get;}
83
84                 bool IsStatic {get;}
85
86                 bool IsVirtual {get;}
87
88                 MemberTypes MemberType {get;}
89
90                 RuntimeMethodHandle MethodHandle {get;}
91
92                 string Name {get;}
93
94                 Type ReflectedType {get;}
95
96                 Type ReturnType {get;}
97
98                 ICustomAttributeProvider ReturnTypeCustomAttributes {get;}
99         }
100 }