Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Compiler / DelegateHelpers.cs / 1305376 / DelegateHelpers.cs
/* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Dynamic.Utils; using System.Reflection; using System.Reflection.Emit; namespace System.Linq.Expressions.Compiler { internal static partial class DelegateHelpers { private const MethodAttributes CtorAttributes = MethodAttributes.RTSpecialName | MethodAttributes.HideBySig | MethodAttributes.Public; private const MethodImplAttributes ImplAttributes = MethodImplAttributes.Runtime | MethodImplAttributes.Managed; private const MethodAttributes InvokeAttributes = MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual; private static readonly Type[] _DelegateCtorSignature = new Type[] { typeof(object), typeof(IntPtr) }; private static Type MakeNewCustomDelegate(Type[] types) { Type returnType = types[types.Length - 1]; Type[] parameters = types.RemoveLast(); TypeBuilder builder = AssemblyGen.DefineDelegateType("Delegate" + types.Length); builder.DefineConstructor(CtorAttributes, CallingConventions.Standard, _DelegateCtorSignature).SetImplementationFlags(ImplAttributes); builder.DefineMethod("Invoke", InvokeAttributes, returnType, parameters).SetImplementationFlags(ImplAttributes); return builder.CreateType(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Dynamic.Utils; using System.Reflection; using System.Reflection.Emit; namespace System.Linq.Expressions.Compiler { internal static partial class DelegateHelpers { private const MethodAttributes CtorAttributes = MethodAttributes.RTSpecialName | MethodAttributes.HideBySig | MethodAttributes.Public; private const MethodImplAttributes ImplAttributes = MethodImplAttributes.Runtime | MethodImplAttributes.Managed; private const MethodAttributes InvokeAttributes = MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual; private static readonly Type[] _DelegateCtorSignature = new Type[] { typeof(object), typeof(IntPtr) }; private static Type MakeNewCustomDelegate(Type[] types) { Type returnType = types[types.Length - 1]; Type[] parameters = types.RemoveLast(); TypeBuilder builder = AssemblyGen.DefineDelegateType("Delegate" + types.Length); builder.DefineConstructor(CtorAttributes, CallingConventions.Standard, _DelegateCtorSignature).SetImplementationFlags(ImplAttributes); builder.DefineMethod("Invoke", InvokeAttributes, returnType, parameters).SetImplementationFlags(ImplAttributes); return builder.CreateType(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PermissionAttributes.cs
- SingleObjectCollection.cs
- HMACSHA1.cs
- MetaData.cs
- Color.cs
- OdbcErrorCollection.cs
- ColumnWidthChangedEvent.cs
- EmptyEnumerator.cs
- DocumentReferenceCollection.cs
- SqlException.cs
- TypeDescriptor.cs
- _IPv6Address.cs
- OutputWindow.cs
- DependencyObjectType.cs
- DoubleStorage.cs
- KeyedCollection.cs
- elementinformation.cs
- SafeTimerHandle.cs
- ApplicationDirectoryMembershipCondition.cs
- AutomationPropertyInfo.cs
- ListViewGroupItemCollection.cs
- QilReplaceVisitor.cs
- PostBackOptions.cs
- XmlLanguageConverter.cs
- DragEvent.cs
- TTSEngineTypes.cs
- OlePropertyStructs.cs
- SchemaTypeEmitter.cs
- TabControlDesigner.cs
- DataBinder.cs
- WindowsAuthenticationEventArgs.cs
- ListViewContainer.cs
- XmlSchemaSimpleContentRestriction.cs
- FontConverter.cs
- XPathBinder.cs
- HostingEnvironmentSection.cs
- ExtenderProviderService.cs
- ObjectListFieldsPage.cs
- PropertyChangeTracker.cs
- PackageRelationshipSelector.cs
- ApplicationSecurityManager.cs
- SynchronizedDispatch.cs
- TrackBarRenderer.cs
- GlyphShapingProperties.cs
- LocalizableAttribute.cs
- ImmComposition.cs
- RecordsAffectedEventArgs.cs
- WebServiceEnumData.cs
- TextBoxRenderer.cs
- DataRelationPropertyDescriptor.cs
- RouteParametersHelper.cs
- TextParentUndoUnit.cs
- SoapAttributeAttribute.cs
- BasicHttpSecurity.cs
- OleDbEnumerator.cs
- FieldDescriptor.cs
- XmlSchemaAll.cs
- OraclePermission.cs
- InputScopeConverter.cs
- DatagramAdapter.cs
- SqlNodeAnnotations.cs
- ThemeDictionaryExtension.cs
- Matrix.cs
- CodeBlockBuilder.cs
- FileRegion.cs
- TabControlEvent.cs
- DocumentSequenceHighlightLayer.cs
- TextServicesManager.cs
- COM2PictureConverter.cs
- COM2ColorConverter.cs
- OuterGlowBitmapEffect.cs
- BooleanAnimationUsingKeyFrames.cs
- FastEncoderStatics.cs
- EventData.cs
- SingleStorage.cs
- XhtmlConformanceSection.cs
- NetworkAddressChange.cs
- TypefaceMap.cs
- IntegerValidatorAttribute.cs
- BindingGroup.cs
- XmlBaseReader.cs
- ISCIIEncoding.cs
- safesecurityhelperavalon.cs
- TablePattern.cs
- Splitter.cs
- XmlNamespaceMappingCollection.cs
- InvalidDataContractException.cs
- SettingsPropertyValueCollection.cs
- Substitution.cs
- SiteOfOriginContainer.cs
- Material.cs
- Span.cs
- AttributeEmitter.cs
- StorageSetMapping.cs
- XdrBuilder.cs
- WebBaseEventKeyComparer.cs
- TemporaryBitmapFile.cs
- PKCS1MaskGenerationMethod.cs
- BaseCollection.cs
- Selection.cs