Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Runtime / CompilerServices / MethodImplAttribute.cs / 1305376 / MethodImplAttribute.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System.Runtime.CompilerServices {
using System;
using System.Reflection;
// This Enum matchs the miImpl flags defined in corhdr.h. It is used to specify
// certain method properties.
[Serializable]
[Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
{
Unmanaged = System.Reflection.MethodImplAttributes.Unmanaged,
ForwardRef = System.Reflection.MethodImplAttributes.ForwardRef,
PreserveSig = System.Reflection.MethodImplAttributes.PreserveSig,
InternalCall = System.Reflection.MethodImplAttributes.InternalCall,
Synchronized = System.Reflection.MethodImplAttributes.Synchronized,
NoInlining = System.Reflection.MethodImplAttributes.NoInlining,
NoOptimization = System.Reflection.MethodImplAttributes.NoOptimization,
// **** If you add something, update internal MethodImplAttribute(MethodImplAttributes methodImplAttributes)! ****
}
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodCodeType
{
IL = System.Reflection.MethodImplAttributes.IL,
Native = System.Reflection.MethodImplAttributes.Native,
///
OPTIL = System.Reflection.MethodImplAttributes.OPTIL,
Runtime = System.Reflection.MethodImplAttributes.Runtime
}
// Custom attribute to specify additional method properties.
[Serializable]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)]
[System.Runtime.InteropServices.ComVisible(true)]
sealed public class MethodImplAttribute : Attribute
{
internal MethodImplOptions _val;
public MethodCodeType MethodCodeType;
internal MethodImplAttribute(MethodImplAttributes methodImplAttributes)
{
MethodImplOptions all =
MethodImplOptions.Unmanaged | MethodImplOptions.ForwardRef | MethodImplOptions.PreserveSig |
MethodImplOptions.InternalCall | MethodImplOptions.Synchronized | MethodImplOptions.NoInlining |
MethodImplOptions.NoOptimization;
_val = ((MethodImplOptions)methodImplAttributes) & all;
}
public MethodImplAttribute(MethodImplOptions methodImplOptions)
{
_val = methodImplOptions;
}
public MethodImplAttribute(short value)
{
_val = (MethodImplOptions)value;
}
public MethodImplAttribute()
{
}
public MethodImplOptions Value { get {return _val;} }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System.Runtime.CompilerServices {
using System;
using System.Reflection;
// This Enum matchs the miImpl flags defined in corhdr.h. It is used to specify
// certain method properties.
[Serializable]
[Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
{
Unmanaged = System.Reflection.MethodImplAttributes.Unmanaged,
ForwardRef = System.Reflection.MethodImplAttributes.ForwardRef,
PreserveSig = System.Reflection.MethodImplAttributes.PreserveSig,
InternalCall = System.Reflection.MethodImplAttributes.InternalCall,
Synchronized = System.Reflection.MethodImplAttributes.Synchronized,
NoInlining = System.Reflection.MethodImplAttributes.NoInlining,
NoOptimization = System.Reflection.MethodImplAttributes.NoOptimization,
// **** If you add something, update internal MethodImplAttribute(MethodImplAttributes methodImplAttributes)! ****
}
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodCodeType
{
IL = System.Reflection.MethodImplAttributes.IL,
Native = System.Reflection.MethodImplAttributes.Native,
///
OPTIL = System.Reflection.MethodImplAttributes.OPTIL,
Runtime = System.Reflection.MethodImplAttributes.Runtime
}
// Custom attribute to specify additional method properties.
[Serializable]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)]
[System.Runtime.InteropServices.ComVisible(true)]
sealed public class MethodImplAttribute : Attribute
{
internal MethodImplOptions _val;
public MethodCodeType MethodCodeType;
internal MethodImplAttribute(MethodImplAttributes methodImplAttributes)
{
MethodImplOptions all =
MethodImplOptions.Unmanaged | MethodImplOptions.ForwardRef | MethodImplOptions.PreserveSig |
MethodImplOptions.InternalCall | MethodImplOptions.Synchronized | MethodImplOptions.NoInlining |
MethodImplOptions.NoOptimization;
_val = ((MethodImplOptions)methodImplAttributes) & all;
}
public MethodImplAttribute(MethodImplOptions methodImplOptions)
{
_val = methodImplOptions;
}
public MethodImplAttribute(short value)
{
_val = (MethodImplOptions)value;
}
public MethodImplAttribute()
{
}
public MethodImplOptions Value { get {return _val;} }
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClientApiGenerator.cs
- WinFormsSpinner.cs
- UnicastIPAddressInformationCollection.cs
- BindingsCollection.cs
- ScriptingJsonSerializationSection.cs
- DataBoundControlParameterTarget.cs
- RegexCompilationInfo.cs
- StackBuilderSink.cs
- FormsAuthenticationEventArgs.cs
- DynamicObjectAccessor.cs
- Tablet.cs
- HtmlWindowCollection.cs
- XmlEventCache.cs
- RulePatternOps.cs
- SqlInternalConnectionTds.cs
- IgnoreSection.cs
- TransportConfigurationTypeElement.cs
- SHA1.cs
- FixedTextBuilder.cs
- DefaultTraceListener.cs
- StoragePropertyMapping.cs
- XmlIncludeAttribute.cs
- SafeNativeMethods.cs
- KerberosTicketHashIdentifierClause.cs
- DragEvent.cs
- Byte.cs
- TokenBasedSet.cs
- PropertyChangedEventArgs.cs
- QueryCorrelationInitializer.cs
- PropertyGridDesigner.cs
- RequiredAttributeAttribute.cs
- SupportsEventValidationAttribute.cs
- SyndicationElementExtension.cs
- HMACSHA512.cs
- DmlSqlGenerator.cs
- basecomparevalidator.cs
- TextRunCacheImp.cs
- SignatureGenerator.cs
- Point3D.cs
- MouseButtonEventArgs.cs
- newitemfactory.cs
- RectangleGeometry.cs
- SecureStringHasher.cs
- DnsElement.cs
- ProcessInfo.cs
- PropertyMapper.cs
- XmlSchemaSimpleTypeList.cs
- SpeechRecognitionEngine.cs
- GridViewColumnCollection.cs
- SoapElementAttribute.cs
- HttpStaticObjectsCollectionWrapper.cs
- MutexSecurity.cs
- GB18030Encoding.cs
- StyleSheet.cs
- ProfileGroupSettingsCollection.cs
- ArgumentsParser.cs
- HttpClientCertificate.cs
- SerializerProvider.cs
- DeviceSpecificDialogCachedState.cs
- AstNode.cs
- CapabilitiesSection.cs
- ScriptHandlerFactory.cs
- MappingModelBuildProvider.cs
- HashMembershipCondition.cs
- XmlSchemaAnyAttribute.cs
- GenericsNotImplementedException.cs
- DataGridViewHeaderCell.cs
- AttachedPropertyMethodSelector.cs
- UniformGrid.cs
- SafeMemoryMappedFileHandle.cs
- SoapAttributeOverrides.cs
- RegisteredScript.cs
- StylusEditingBehavior.cs
- SeekableReadStream.cs
- DataGridTextColumn.cs
- Pts.cs
- GeneralTransformGroup.cs
- DecoderExceptionFallback.cs
- PostBackTrigger.cs
- ScalarOps.cs
- AttributeQuery.cs
- SecurityPermission.cs
- EventRouteFactory.cs
- CacheModeValueSerializer.cs
- MetadataArtifactLoaderCompositeFile.cs
- Speller.cs
- ListViewCommandEventArgs.cs
- Range.cs
- DataObject.cs
- Point3DConverter.cs
- FormView.cs
- XmlCharacterData.cs
- ClosableStream.cs
- EdmToObjectNamespaceMap.cs
- QuestionEventArgs.cs
- ApplicationServicesHostFactory.cs
- DataGridViewCellParsingEventArgs.cs
- XPathBuilder.cs
- DataColumnSelectionConverter.cs
- ExchangeUtilities.cs