Merge pull request #409 from Alkarex/patch-1
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _FieldInfo.cs
1 //
2 // System.Runtime.InteropServices._FieldInfo 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 ("8A7C1442-A9FB-366B-80D8-4939FFA6DBE0")]
17 #if !FULL_AOT_RUNTIME
18         [TypeLibImportClass (typeof (FieldInfo))]
19 #endif
20         [ComVisible (true)]
21         public interface _FieldInfo
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                 Type GetType ();
32
33                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
34
35                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
36
37                 void GetTypeInfoCount (out uint pcTInfo);
38
39                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
40                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
41
42                 object GetValue (object obj);
43
44                 object GetValueDirect (TypedReference obj);
45
46                 bool IsDefined (Type attributeType, bool inherit);
47
48                 void SetValue (object obj, object value);
49
50                 void SetValue (object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture);
51
52                 void SetValueDirect (TypedReference obj, object value);
53
54                 string ToString ();
55
56                 FieldAttributes Attributes {get;}
57
58                 Type DeclaringType {get;}
59
60                 RuntimeFieldHandle FieldHandle {get;}
61
62                 Type FieldType {get;}
63
64                 bool IsAssembly {get;}
65
66                 bool IsFamily {get;}
67
68                 bool IsFamilyAndAssembly {get;}
69
70                 bool IsFamilyOrAssembly {get;}
71
72                 bool IsInitOnly {get;}
73
74                 bool IsLiteral {get;}
75
76                 bool IsNotSerialized {get;}
77
78                 bool IsPinvokeImpl {get;}
79
80                 bool IsPrivate {get;}
81
82                 bool IsPublic {get;}
83
84                 bool IsSpecialName {get;}
85
86                 bool IsStatic {get;}
87
88                 MemberTypes MemberType {get;}
89
90                 string Name {get;}
91
92                 Type ReflectedType {get;}
93         }
94 }