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
- SimpleWorkerRequest.cs
- CryptoHandle.cs
- DoubleCollectionValueSerializer.cs
- EndPoint.cs
- SafeNativeMethods.cs
- OptimalTextSource.cs
- DeclarationUpdate.cs
- TraceHwndHost.cs
- DrawItemEvent.cs
- QueuePathEditor.cs
- DragStartedEventArgs.cs
- _HTTPDateParse.cs
- SelectedDatesCollection.cs
- IntranetCredentialPolicy.cs
- EffectiveValueEntry.cs
- CultureInfo.cs
- HttpWebResponse.cs
- Stacktrace.cs
- RMEnrollmentPage3.cs
- SerializationAttributes.cs
- InkCanvasAutomationPeer.cs
- RoleManagerSection.cs
- webeventbuffer.cs
- LinkDescriptor.cs
- InternalCache.cs
- MetafileEditor.cs
- PhysicalAddress.cs
- InvalidCastException.cs
- DbConnectionPoolCounters.cs
- TreeView.cs
- Timer.cs
- ValidatingReaderNodeData.cs
- TextChangedEventArgs.cs
- SmtpNetworkElement.cs
- FormViewInsertEventArgs.cs
- XmlMemberMapping.cs
- EventSourceCreationData.cs
- UniqueIdentifierService.cs
- DispatcherHooks.cs
- ContextMenu.cs
- BuildResult.cs
- WindowsScrollBar.cs
- SafeFileHandle.cs
- XmlSchemaComplexContent.cs
- CustomErrorsSection.cs
- InternalConfigHost.cs
- AttributeCollection.cs
- XhtmlTextWriter.cs
- SmiSettersStream.cs
- ManagementEventArgs.cs
- EventBookmark.cs
- CheckBoxDesigner.cs
- Wildcard.cs
- WebZone.cs
- BinaryFormatterWriter.cs
- InlineCategoriesDocument.cs
- mediaeventargs.cs
- StylusPointDescription.cs
- TextAutomationPeer.cs
- HttpAsyncResult.cs
- SecurityRuntime.cs
- EmptyElement.cs
- RelationshipDetailsRow.cs
- Splitter.cs
- SpecialFolderEnumConverter.cs
- RuntimeCompatibilityAttribute.cs
- RtfControls.cs
- SmiEventStream.cs
- PersonalizationStateQuery.cs
- SerializationSectionGroup.cs
- LambdaCompiler.cs
- DesignerActionListCollection.cs
- HandlerFactoryWrapper.cs
- TextHintingModeValidation.cs
- ObjectCacheSettings.cs
- PlatformCulture.cs
- GenericIdentity.cs
- ExpandSegmentCollection.cs
- WindowPattern.cs
- OptimizedTemplateContentHelper.cs
- TreeViewDesigner.cs
- WebExceptionStatus.cs
- MimePart.cs
- ContainerAction.cs
- OutputScopeManager.cs
- FormViewInsertedEventArgs.cs
- KeyedCollection.cs
- TerminatorSinks.cs
- X509CertificateRecipientClientCredential.cs
- ChangePassword.cs
- SystemFonts.cs
- AspNetSynchronizationContext.cs
- ApplySecurityAndSendAsyncResult.cs
- TemplatePropertyEntry.cs
- PointLightBase.cs
- MessageAction.cs
- SingleResultAttribute.cs
- LoadWorkflowCommand.cs
- CodeDirectiveCollection.cs
- Range.cs