1 <?xml version="1.0" encoding="utf-8"?>
2 <Type Name="MethodImplAttributes" FullName="System.Reflection.MethodImplAttributes">
3 <TypeSignature Maintainer="auto" Language="C#" Value="public enum MethodImplAttributes" />
4 <TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed MethodImplAttributes extends System.Enum" />
6 <AssemblyName>mscorlib</AssemblyName>
7 <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
8 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9 <AssemblyVersion>2.0.0.0</AssemblyVersion>
10 <AssemblyVersion>4.0.0.0</AssemblyVersion>
12 <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
14 <BaseTypeName>System.Enum</BaseTypeName>
18 <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
23 <attribution license="cc4" from="Microsoft" modified="false" />
24 <para>The attributes are combined using the bitwise OR operation as follows: </para>
25 <para>Code implementation masks: </para>
28 <para>CodeTypeMask </para>
43 <para>Managed masks: </para>
46 <para>ManagedMask </para>
49 <para>Unmanaged </para>
55 <para>Implementation information and interop masks: </para>
58 <para>ForwardRef </para>
61 <para>PreserveSig </para>
64 <para>InternalCall </para>
67 <para>Synchronized </para>
70 <para>NoInlining </para>
73 <para>NoOptimization </para>
76 <para>MaxMethodImplVal </para>
79 <block subset="none" type="note">
80 <para>Locking on the instance or on the type, as with the <see cref="F:System.Reflection.MethodImplAttributes.Synchronized" /> flag, is not recommended for public types, because code other than your own can take locks on public types and instances. This might cause deadlocks or other synchronization problems.</para>
84 <attribution license="cc4" from="Microsoft" modified="false" />
85 <para>Specifies flags for the attributes of a method implementation.</para>
89 <Member MemberName="AggressiveInlining">
90 <MemberSignature Language="C#" Value="AggressiveInlining" />
91 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes AggressiveInlining = int32(256)" />
92 <MemberType>Field</MemberType>
94 <AssemblyVersion>4.0.0.0</AssemblyVersion>
97 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
101 <attribution license="cc4" from="Microsoft" modified="false" />
102 <para>Specifies that the method should be inlined wherever possible.</para>
106 <Member MemberName="CodeTypeMask">
107 <MemberSignature Language="C#" Value="CodeTypeMask" />
108 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes CodeTypeMask = int32(3)" />
109 <MemberType>Field</MemberType>
111 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
112 <AssemblyVersion>2.0.0.0</AssemblyVersion>
113 <AssemblyVersion>4.0.0.0</AssemblyVersion>
116 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
120 <remarks>To be added</remarks>
122 <attribution license="cc4" from="Microsoft" modified="false" />
123 <para>Specifies flags about code type.</para>
127 <Member MemberName="ForwardRef">
128 <MemberSignature Language="C#" Value="ForwardRef" />
129 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes ForwardRef = int32(16)" />
130 <MemberType>Field</MemberType>
132 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
133 <AssemblyVersion>2.0.0.0</AssemblyVersion>
134 <AssemblyVersion>4.0.0.0</AssemblyVersion>
137 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
141 <remarks>To be added</remarks>
143 <attribution license="cc4" from="Microsoft" modified="false" />
144 <para>Specifies that the method is not defined.</para>
148 <Member MemberName="IL">
149 <MemberSignature Language="C#" Value="IL" />
150 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes IL = int32(0)" />
151 <MemberType>Field</MemberType>
153 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
154 <AssemblyVersion>2.0.0.0</AssemblyVersion>
155 <AssemblyVersion>4.0.0.0</AssemblyVersion>
158 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
162 <remarks>To be added</remarks>
164 <attribution license="cc4" from="Microsoft" modified="false" />
165 <para>Specifies that the method implementation is in Microsoft intermediate language (MSIL).</para>
169 <Member MemberName="InternalCall">
170 <MemberSignature Language="C#" Value="InternalCall" />
171 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes InternalCall = int32(4096)" />
172 <MemberType>Field</MemberType>
174 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
175 <AssemblyVersion>2.0.0.0</AssemblyVersion>
176 <AssemblyVersion>4.0.0.0</AssemblyVersion>
179 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
183 <remarks>To be added</remarks>
185 <attribution license="cc4" from="Microsoft" modified="false" />
186 <para>Specifies an internal call.</para>
190 <Member MemberName="Managed">
191 <MemberSignature Language="C#" Value="Managed" />
192 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Managed = int32(0)" />
193 <MemberType>Field</MemberType>
195 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
196 <AssemblyVersion>2.0.0.0</AssemblyVersion>
197 <AssemblyVersion>4.0.0.0</AssemblyVersion>
200 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
204 <remarks>To be added</remarks>
206 <attribution license="cc4" from="Microsoft" modified="false" />
207 <para>Specifies that the method is implemented in managed code. </para>
211 <Member MemberName="ManagedMask">
212 <MemberSignature Language="C#" Value="ManagedMask" />
213 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes ManagedMask = int32(4)" />
214 <MemberType>Field</MemberType>
216 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
217 <AssemblyVersion>2.0.0.0</AssemblyVersion>
218 <AssemblyVersion>4.0.0.0</AssemblyVersion>
221 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
225 <remarks>To be added</remarks>
227 <attribution license="cc4" from="Microsoft" modified="false" />
228 <para>Specifies whether the method is implemented in managed or unmanaged code.</para>
232 <Member MemberName="MaxMethodImplVal">
233 <MemberSignature Language="C#" Value="MaxMethodImplVal" />
234 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes MaxMethodImplVal = int32(65535)" />
235 <MemberType>Field</MemberType>
237 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
238 <AssemblyVersion>2.0.0.0</AssemblyVersion>
239 <AssemblyVersion>4.0.0.0</AssemblyVersion>
242 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
246 <remarks>To be added</remarks>
248 <attribution license="cc4" from="Microsoft" modified="false" />
249 <para>Specifies a range check value.</para>
253 <Member MemberName="Native">
254 <MemberSignature Language="C#" Value="Native" />
255 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Native = int32(1)" />
256 <MemberType>Field</MemberType>
258 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
259 <AssemblyVersion>2.0.0.0</AssemblyVersion>
260 <AssemblyVersion>4.0.0.0</AssemblyVersion>
263 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
267 <remarks>To be added</remarks>
269 <attribution license="cc4" from="Microsoft" modified="false" />
270 <para>Specifies that the method implementation is native.</para>
274 <Member MemberName="NoInlining">
275 <MemberSignature Language="C#" Value="NoInlining" />
276 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes NoInlining = int32(8)" />
277 <MemberType>Field</MemberType>
279 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
280 <AssemblyVersion>2.0.0.0</AssemblyVersion>
281 <AssemblyVersion>4.0.0.0</AssemblyVersion>
284 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
288 <remarks>To be added</remarks>
290 <attribution license="cc4" from="Microsoft" modified="false" />
291 <para>Specifies that the method cannot be inlined.</para>
295 <Member MemberName="NoOptimization">
296 <MemberSignature Language="C#" Value="NoOptimization" />
297 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes NoOptimization = int32(64)" />
298 <MemberType>Field</MemberType>
300 <AssemblyVersion>2.0.0.0</AssemblyVersion>
301 <AssemblyVersion>4.0.0.0</AssemblyVersion>
304 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
308 <attribution license="cc4" from="Microsoft" modified="false" />
309 <para>Specifies that the method is not optimized by the just-in-time (JIT) compiler or by native code generation (see <format type="text/html"><a href="44bf97aa-a9a4-4eba-9a0d-cfaa6fc53a66">Ngen.exe</a></format>) when debugging possible code generation problems.</para>
313 <Member MemberName="OPTIL">
314 <MemberSignature Language="C#" Value="OPTIL" />
315 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes OPTIL = int32(2)" />
316 <MemberType>Field</MemberType>
318 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
319 <AssemblyVersion>2.0.0.0</AssemblyVersion>
320 <AssemblyVersion>4.0.0.0</AssemblyVersion>
323 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
327 <remarks>To be added</remarks>
329 <attribution license="cc4" from="Microsoft" modified="false" />
330 <para>Specifies that the method implementation is in Optimized Intermediate Language (OPTIL).</para>
334 <Member MemberName="PreserveSig">
335 <MemberSignature Language="C#" Value="PreserveSig" />
336 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes PreserveSig = int32(128)" />
337 <MemberType>Field</MemberType>
339 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
340 <AssemblyVersion>2.0.0.0</AssemblyVersion>
341 <AssemblyVersion>4.0.0.0</AssemblyVersion>
344 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
348 <remarks>To be added</remarks>
350 <attribution license="cc4" from="Microsoft" modified="false" />
351 <para>Specifies that the method signature is exported exactly as declared.</para>
355 <Member MemberName="Runtime">
356 <MemberSignature Language="C#" Value="Runtime" />
357 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Runtime = int32(3)" />
358 <MemberType>Field</MemberType>
360 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
361 <AssemblyVersion>2.0.0.0</AssemblyVersion>
362 <AssemblyVersion>4.0.0.0</AssemblyVersion>
365 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
369 <remarks>To be added</remarks>
371 <attribution license="cc4" from="Microsoft" modified="false" />
372 <para>Specifies that the method implementation is provided by the runtime.</para>
376 <Member MemberName="Synchronized">
377 <MemberSignature Language="C#" Value="Synchronized" />
378 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Synchronized = int32(32)" />
379 <MemberType>Field</MemberType>
381 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
382 <AssemblyVersion>2.0.0.0</AssemblyVersion>
383 <AssemblyVersion>4.0.0.0</AssemblyVersion>
386 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
390 <remarks>To be added</remarks>
392 <attribution license="cc4" from="Microsoft" modified="false" />
393 <para>Specifies that the method is single-threaded through the body. Static methods (Shared in Visual Basic) lock on the type, whereas instance methods lock on the instance. You can also use the C# <format type="text/html"><a href="656DA1A4-707E-4EF6-9C6E-6D13B646AF42">lock statement</a></format> or the Visual Basic <format type="text/html"><a href="14501703-298f-4d43-b139-c4b6366af176">SyncLock statement</a></format> for this purpose. </para>
397 <Member MemberName="Unmanaged">
398 <MemberSignature Language="C#" Value="Unmanaged" />
399 <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Unmanaged = int32(4)" />
400 <MemberType>Field</MemberType>
402 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
403 <AssemblyVersion>2.0.0.0</AssemblyVersion>
404 <AssemblyVersion>4.0.0.0</AssemblyVersion>
407 <ReturnType>System.Reflection.MethodImplAttributes</ReturnType>
411 <remarks>To be added</remarks>
413 <attribution license="cc4" from="Microsoft" modified="false" />
414 <para>Specifies that the method is implemented in unmanaged code.</para>