Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Runtime / CompilerServices / MethodImplAttribute.cs / 2 / 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
- ObjectStateFormatter.cs
- WebZone.cs
- PeerCredentialElement.cs
- SecUtil.cs
- BoundPropertyEntry.cs
- GuidConverter.cs
- KeyNotFoundException.cs
- SqlDataSourceFilteringEventArgs.cs
- SchemaComplexType.cs
- ConstNode.cs
- ClientFactory.cs
- MarginsConverter.cs
- SequentialUshortCollection.cs
- EventDescriptorCollection.cs
- IRCollection.cs
- DiscoveryServerProtocol.cs
- Helpers.cs
- ParameterBuilder.cs
- ApplicationContext.cs
- UnSafeCharBuffer.cs
- EmulateRecognizeCompletedEventArgs.cs
- BufferBuilder.cs
- DataViewManager.cs
- ObjectQueryProvider.cs
- panel.cs
- RenderingBiasValidation.cs
- TextBreakpoint.cs
- TableRow.cs
- MailMessageEventArgs.cs
- Operators.cs
- TableLayoutCellPaintEventArgs.cs
- XmlSignatureManifest.cs
- TreeNode.cs
- UnaryNode.cs
- EventToken.cs
- ClientSideQueueItem.cs
- MultiTrigger.cs
- ParameterBinding.cs
- BufferedReadStream.cs
- InsufficientExecutionStackException.cs
- DeploymentSection.cs
- ToolBarButtonClickEvent.cs
- Compensate.cs
- TreeNodeStyleCollection.cs
- ThreadStateException.cs
- RemoteWebConfigurationHostStream.cs
- XmlComplianceUtil.cs
- TransactionValidationBehavior.cs
- RangeValidator.cs
- TextReader.cs
- PrimitiveCodeDomSerializer.cs
- VectorCollectionValueSerializer.cs
- GPPOINTF.cs
- VolatileEnlistmentState.cs
- diagnosticsswitches.cs
- HitTestResult.cs
- CryptoKeySecurity.cs
- WCFBuildProvider.cs
- sqlstateclientmanager.cs
- LineProperties.cs
- CuspData.cs
- RadioButtonRenderer.cs
- ProcessStartInfo.cs
- References.cs
- PowerModeChangedEventArgs.cs
- PrincipalPermission.cs
- HttpDictionary.cs
- Win32SafeHandles.cs
- LinqDataSourceValidationException.cs
- AlternationConverter.cs
- ConnectionConsumerAttribute.cs
- ScopelessEnumAttribute.cs
- SessionEndedEventArgs.cs
- SafeViewOfFileHandle.cs
- SqlDataSourceCache.cs
- XmlNamespaceMapping.cs
- DataControlFieldHeaderCell.cs
- HtmlTable.cs
- RemotingSurrogateSelector.cs
- ManifestResourceInfo.cs
- Point.cs
- CommentEmitter.cs
- ControlCollection.cs
- FixUpCollection.cs
- ResolvedKeyFrameEntry.cs
- TypeConverterAttribute.cs
- C14NUtil.cs
- FilePrompt.cs
- SqlRecordBuffer.cs
- CodeDirectiveCollection.cs
- DynamicQueryStringParameter.cs
- HttpSysSettings.cs
- CSharpCodeProvider.cs
- XmlSchemaInclude.cs
- BitHelper.cs
- SafePEFileHandle.cs
- ImageSourceConverter.cs
- ActiveXContainer.cs
- XmlSchemaExternal.cs
- TabRenderer.cs