The Labs \ Source Viewer \ SSCLI \ System.Reflection \ MethodImplAttributes

  1. // ==++==
  2. //
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. //
  14. // ==--==
  15. namespace System.Reflection
  16. {
  17.    
  18.     using System;
  19.     // This Enum matchs the CorMethodImpl defined in CorHdr.h
  20.     [Serializable()]
  21.     [System.Runtime.InteropServices.ComVisible(true)]
  22.     public enum MethodImplAttributes
  23.     {
  24.         // code impl mask
  25.         CodeTypeMask = 3,
  26.         // Flags about code type.
  27.         IL = 0,
  28.         // Method impl is IL.
  29.         Native = 1,
  30.         // Method impl is native.
  31.         /// <internalonly/>
  32.         OPTIL = 2,
  33.         // Method impl is OPTIL
  34.         Runtime = 3,
  35.         // Method impl is provided by the runtime.
  36.         // end code impl mask
  37.         // managed mask
  38.         ManagedMask = 4,
  39.         // Flags specifying whether the code is managed or unmanaged.
  40.         Unmanaged = 4,
  41.         // Method impl is unmanaged, otherwise managed.
  42.         Managed = 0,
  43.         // Method impl is managed.
  44.         // end managed mask
  45.         // implementation info and interop
  46.         ForwardRef = 16,
  47.         // Indicates method is not defined; used primarily in merge scenarios.
  48.         PreserveSig = 128,
  49.         // Indicates method sig is exported exactly as declared.
  50.         InternalCall = 4096,
  51.         // Internal Call...
  52.         Synchronized = 32,
  53.         // Method is single threaded through the body.
  54.         NoInlining = 8,
  55.         // Method may not be inlined.
  56.         MaxMethodImplVal = 65535
  57.         // Range check value
  58.     }
  59. }

Developer Fusion