﻿<?xml version="1.0" encoding="utf-8"?><Type Name="MethodImplAttributes" FullName="System.Reflection.MethodImplAttributes"><TypeSignature Maintainer="auto" Language="C#" Value="public enum MethodImplAttributes" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed MethodImplAttributes extends System.Enum" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Enum</BaseTypeName></Base><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The attributes are combined using the bitwise OR operation as follows: </para><para>Code implementation masks: </para><list type="bullet"><item><para>CodeTypeMask </para></item><item><para>IL  </para></item><item><para>Native </para></item><item><para>OPTIL </para></item><item><para>Runtime </para></item></list><para>Managed masks: </para><list type="bullet"><item><para>ManagedMask </para></item><item><para>Unmanaged </para></item><item><para>Managed </para></item></list><para>Implementation information and interop masks: </para><list type="bullet"><item><para>ForwardRef </para></item><item><para>PreserveSig </para></item><item><para>InternalCall </para></item><item><para>Synchronized </para></item><item><para>NoInlining </para></item><item><para>NoOptimization </para></item><item><para>MaxMethodImplVal </para></item></list><block subset="none" type="note"><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></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies flags for the attributes of a method implementation.</para></summary></Docs><Members><Member MemberName="AggressiveInlining"><MemberSignature Language="C#" Value="AggressiveInlining" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes AggressiveInlining = int32(256)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Docs><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method should be inlined wherever possible.</para></summary></Docs></Member><Member MemberName="CodeTypeMask"><MemberSignature Language="C#" Value="CodeTypeMask" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes CodeTypeMask = int32(3)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies flags about code type.</para></summary></Docs></Member><Member MemberName="ForwardRef"><MemberSignature Language="C#" Value="ForwardRef" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes ForwardRef = int32(16)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method is not defined.</para></summary></Docs></Member><Member MemberName="IL"><MemberSignature Language="C#" Value="IL" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes IL = int32(0)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method implementation is in Microsoft intermediate language (MSIL).</para></summary></Docs></Member><Member MemberName="InternalCall"><MemberSignature Language="C#" Value="InternalCall" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes InternalCall = int32(4096)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies an internal call.</para></summary></Docs></Member><Member MemberName="Managed"><MemberSignature Language="C#" Value="Managed" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Managed = int32(0)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method is implemented in managed code. </para></summary></Docs></Member><Member MemberName="ManagedMask"><MemberSignature Language="C#" Value="ManagedMask" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes ManagedMask = int32(4)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies whether the method is implemented in managed or unmanaged code.</para></summary></Docs></Member><Member MemberName="MaxMethodImplVal"><MemberSignature Language="C#" Value="MaxMethodImplVal" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes MaxMethodImplVal = int32(65535)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies a range check value.</para></summary></Docs></Member><Member MemberName="Native"><MemberSignature Language="C#" Value="Native" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Native = int32(1)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method implementation is native.</para></summary></Docs></Member><Member MemberName="NoInlining"><MemberSignature Language="C#" Value="NoInlining" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes NoInlining = int32(8)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method cannot be inlined.</para></summary></Docs></Member><Member MemberName="NoOptimization"><MemberSignature Language="C#" Value="NoOptimization" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes NoOptimization = int32(64)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Docs><summary><attribution license="cc4" from="Microsoft" modified="false" /><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></summary></Docs></Member><Member MemberName="OPTIL"><MemberSignature Language="C#" Value="OPTIL" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes OPTIL = int32(2)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method implementation is in Optimized Intermediate Language (OPTIL).</para></summary></Docs></Member><Member MemberName="PreserveSig"><MemberSignature Language="C#" Value="PreserveSig" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes PreserveSig = int32(128)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method signature is exported exactly as declared.</para></summary></Docs></Member><Member MemberName="Runtime"><MemberSignature Language="C#" Value="Runtime" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Runtime = int32(3)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method implementation is provided by the runtime.</para></summary></Docs></Member><Member MemberName="Synchronized"><MemberSignature Language="C#" Value="Synchronized" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Synchronized = int32(32)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><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></summary></Docs></Member><Member MemberName="Unmanaged"><MemberSignature Language="C#" Value="Unmanaged" /><MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Reflection.MethodImplAttributes Unmanaged = int32(4)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MethodImplAttributes</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies that the method is implemented in unmanaged code.</para></summary></Docs></Member></Members></Type>