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
- TextServicesHost.cs
- Dispatcher.cs
- ToolStripPanelCell.cs
- UnionExpr.cs
- GridLengthConverter.cs
- ToggleButtonAutomationPeer.cs
- CompilerGeneratedAttribute.cs
- IListConverters.cs
- CompressionTransform.cs
- FileChangesMonitor.cs
- TextEncodedRawTextWriter.cs
- GPRECT.cs
- TextBox.cs
- DecimalStorage.cs
- FileNameEditor.cs
- validation.cs
- ExpressionPrefixAttribute.cs
- ListSortDescription.cs
- MailWebEventProvider.cs
- PropertyInfoSet.cs
- XmlLangPropertyAttribute.cs
- SoundPlayerAction.cs
- MinimizableAttributeTypeConverter.cs
- DiagnosticTrace.cs
- RectConverter.cs
- GorillaCodec.cs
- WindowsSpinner.cs
- BuildDependencySet.cs
- BinarySerializer.cs
- WorkflowServiceHostFactory.cs
- SoundPlayer.cs
- TreeWalker.cs
- HtmlElementCollection.cs
- MatrixAnimationUsingPath.cs
- assertwrapper.cs
- DragDropManager.cs
- VoiceSynthesis.cs
- SqlCommandSet.cs
- mansign.cs
- AQNBuilder.cs
- ContainerFilterService.cs
- CaseInsensitiveOrdinalStringComparer.cs
- IItemProperties.cs
- SessionSwitchEventArgs.cs
- HttpServerVarsCollection.cs
- ItemType.cs
- RichTextBox.cs
- ListViewItem.cs
- BindingGraph.cs
- DecimalConverter.cs
- FormDesigner.cs
- ACE.cs
- SqlException.cs
- PackagingUtilities.cs
- SHA1CryptoServiceProvider.cs
- Propagator.cs
- EntityContainer.cs
- AutomationEventArgs.cs
- AssemblyInfo.cs
- ProcessModelInfo.cs
- TCPClient.cs
- TextWriterEngine.cs
- AppDomainInfo.cs
- MarshalDirectiveException.cs
- Point4DValueSerializer.cs
- XMLSchema.cs
- CrossContextChannel.cs
- IntSumAggregationOperator.cs
- mediaeventshelper.cs
- DataGridRowDetailsEventArgs.cs
- TextShapeableCharacters.cs
- UnicastIPAddressInformationCollection.cs
- ImageConverter.cs
- MethodBuilder.cs
- SmiContext.cs
- DataGridCellsPanel.cs
- SchemaType.cs
- StackSpiller.cs
- CultureInfo.cs
- DrawingGroup.cs
- TextBlock.cs
- CodeGotoStatement.cs
- RelationshipConverter.cs
- SmtpClient.cs
- SatelliteContractVersionAttribute.cs
- ForeignConstraint.cs
- ConditionValidator.cs
- GroupDescription.cs
- _NetRes.cs
- SecureStringHasher.cs
- DesignerVerbToolStripMenuItem.cs
- unitconverter.cs
- counter.cs
- StaticResourceExtension.cs
- TextSearch.cs
- RedistVersionInfo.cs
- ObjectStateFormatter.cs
- DragEvent.cs
- PrimitiveType.cs
- PerformanceCounterLib.cs