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
- SubMenuStyle.cs
- Boolean.cs
- ListViewGroupConverter.cs
- ViewCellSlot.cs
- ResourceCodeDomSerializer.cs
- DataGridViewCellValueEventArgs.cs
- ProcessHostServerConfig.cs
- JsonReaderDelegator.cs
- FieldAccessException.cs
- HtmlTable.cs
- Interlocked.cs
- DesignBindingConverter.cs
- DetailsViewUpdatedEventArgs.cs
- QilList.cs
- SeekableReadStream.cs
- RegisteredScript.cs
- WebResourceAttribute.cs
- EntityDataSourceChangedEventArgs.cs
- PatternMatcher.cs
- ColumnPropertiesGroup.cs
- SoapReflectionImporter.cs
- ViewCellRelation.cs
- XamlTemplateSerializer.cs
- DataServiceRequest.cs
- cookiecollection.cs
- CodeArrayCreateExpression.cs
- HttpCookiesSection.cs
- MonitorWrapper.cs
- SystemIcmpV4Statistics.cs
- StatusStrip.cs
- ServiceErrorHandler.cs
- UnsafeNativeMethods.cs
- ActivityDelegate.cs
- errorpatternmatcher.cs
- Freezable.cs
- UidManager.cs
- DataServiceResponse.cs
- ServiceProviders.cs
- DBSqlParser.cs
- EventLogPermissionAttribute.cs
- RouteData.cs
- QilTernary.cs
- QueryCacheKey.cs
- GPRECTF.cs
- CounterCreationDataConverter.cs
- MessageAction.cs
- WeakEventTable.cs
- DiscoveryClientOutputChannel.cs
- MessageHeaderDescriptionCollection.cs
- CatalogZone.cs
- BinaryNode.cs
- ManipulationStartedEventArgs.cs
- InlineCollection.cs
- PreviewPageInfo.cs
- ExpressionVisitor.cs
- Keyboard.cs
- XmlSerializerFactory.cs
- OSEnvironmentHelper.cs
- ActivityWithResultConverter.cs
- SimpleRecyclingCache.cs
- ScaleTransform.cs
- SqlConnectionString.cs
- FormsAuthenticationCredentials.cs
- EditableRegion.cs
- CodeValidator.cs
- AppDomainFactory.cs
- SQLInt16Storage.cs
- SchemaCollectionPreprocessor.cs
- IsolatedStorageFileStream.cs
- DataGridLinkButton.cs
- NamespaceExpr.cs
- AssemblyResourceLoader.cs
- HeaderUtility.cs
- SecUtil.cs
- ArgumentFixer.cs
- XmlHierarchyData.cs
- TypeConverterHelper.cs
- DataGridTable.cs
- ConstraintStruct.cs
- XmlSchemaComplexContentExtension.cs
- BitmapDecoder.cs
- SaveFileDialog.cs
- ValueSerializer.cs
- CqlGenerator.cs
- DbProviderFactoriesConfigurationHandler.cs
- OrderToken.cs
- TopClause.cs
- DbProviderFactory.cs
- RadioButtonStandardAdapter.cs
- RequestTimeoutManager.cs
- ListItemConverter.cs
- Border.cs
- LogicalExpr.cs
- SimpleHandlerFactory.cs
- ObjectContextServiceProvider.cs
- EdmEntityTypeAttribute.cs
- BatchParser.cs
- SuppressIldasmAttribute.cs
- PageThemeParser.cs
- KeyNotFoundException.cs