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
- BinaryCommonClasses.cs
- ClickablePoint.cs
- HybridObjectCache.cs
- BCryptNative.cs
- MetadataItemEmitter.cs
- SelectionManager.cs
- Accessors.cs
- Message.cs
- ListQueryResults.cs
- Base64Encoder.cs
- KernelTypeValidation.cs
- sqlpipe.cs
- XsltFunctions.cs
- Clause.cs
- FillRuleValidation.cs
- Slider.cs
- IconHelper.cs
- ValidationErrorCollection.cs
- Catch.cs
- SafeNativeMethods.cs
- InfocardExtendedInformationCollection.cs
- WindowsScrollBar.cs
- elementinformation.cs
- SqlEnums.cs
- ZoneIdentityPermission.cs
- TypeExtension.cs
- Margins.cs
- GeneralTransform3DTo2DTo3D.cs
- storepermission.cs
- StorageBasedPackageProperties.cs
- CorrelationService.cs
- ColorConvertedBitmapExtension.cs
- Size3D.cs
- TextTreeText.cs
- TranslateTransform.cs
- LinqDataSourceView.cs
- SapiAttributeParser.cs
- ConfigurationException.cs
- PrimitiveXmlSerializers.cs
- WriterOutput.cs
- WebConvert.cs
- BuildTopDownAttribute.cs
- CompressEmulationStream.cs
- RawStylusActions.cs
- InstanceHandleReference.cs
- MarkupWriter.cs
- OutputCacheProfile.cs
- XDeferredAxisSource.cs
- CustomWebEventKey.cs
- DiscreteKeyFrames.cs
- XmlHelper.cs
- RegionIterator.cs
- RoleManagerModule.cs
- Parameter.cs
- XmlSchemaDatatype.cs
- TextTreeText.cs
- Condition.cs
- WebContext.cs
- CompilerScopeManager.cs
- DelegateInArgument.cs
- ProbeMatches11.cs
- EventlogProvider.cs
- Request.cs
- DataControlImageButton.cs
- AppDomainGrammarProxy.cs
- ClassHandlersStore.cs
- Int16KeyFrameCollection.cs
- XPathExpr.cs
- HttpRuntime.cs
- PersianCalendar.cs
- ValidatorCollection.cs
- RootDesignerSerializerAttribute.cs
- ExceptionCollection.cs
- Int64Animation.cs
- MethodSet.cs
- FtpWebResponse.cs
- documentsequencetextpointer.cs
- ToolStripDesigner.cs
- ActivityPreviewDesigner.cs
- DataDocumentXPathNavigator.cs
- HtmlInputImage.cs
- MsmqActivation.cs
- EncryptedType.cs
- ServiceReference.cs
- FlatButtonAppearance.cs
- SqlClientFactory.cs
- Normalizer.cs
- CustomValidator.cs
- DeriveBytes.cs
- DataGridRow.cs
- DynamicPropertyHolder.cs
- JsonReader.cs
- MemberPath.cs
- SystemParameters.cs
- Size.cs
- _DisconnectOverlappedAsyncResult.cs
- Types.cs
- ResourcePool.cs
- FormViewCommandEventArgs.cs
- MutexSecurity.cs