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
- SchemaObjectWriter.cs
- TextCollapsingProperties.cs
- TreeViewItem.cs
- WebProxyScriptElement.cs
- XmlDataImplementation.cs
- BitmapMetadataBlob.cs
- StsCommunicationException.cs
- SurrogateEncoder.cs
- InvariantComparer.cs
- DiagnosticStrings.cs
- StatusBarAutomationPeer.cs
- RtfControls.cs
- SqlConnection.cs
- RealizationContext.cs
- HtmlShim.cs
- DataGridViewEditingControlShowingEventArgs.cs
- PinnedBufferMemoryStream.cs
- TdsParameterSetter.cs
- DynamicILGenerator.cs
- SmiRecordBuffer.cs
- IISUnsafeMethods.cs
- ManagedWndProcTracker.cs
- DataGridViewRowsRemovedEventArgs.cs
- IgnoreFileBuildProvider.cs
- Drawing.cs
- FakeModelPropertyImpl.cs
- PreApplicationStartMethodAttribute.cs
- ActivationProxy.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- HtmlTextArea.cs
- DesignTimeTemplateParser.cs
- ExpressionDumper.cs
- ObjectSpanRewriter.cs
- DefaultEventAttribute.cs
- WorkflowDispatchContext.cs
- UserCancellationException.cs
- oledbmetadatacolumnnames.cs
- WindowsButton.cs
- DateTimeFormatInfo.cs
- PersonalizationEntry.cs
- ResumeStoryboard.cs
- SafeFileHandle.cs
- ReturnEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- HtmlImage.cs
- DrawToolTipEventArgs.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- UnsafeNativeMethods.cs
- OleDbConnectionFactory.cs
- SQLDoubleStorage.cs
- LicenseException.cs
- OdbcErrorCollection.cs
- DependencyProperty.cs
- EmptyStringExpandableObjectConverter.cs
- ServiceSecurityContext.cs
- LinqDataSourceDeleteEventArgs.cs
- StorageSetMapping.cs
- TargetPerspective.cs
- Vector3D.cs
- OAVariantLib.cs
- COAUTHIDENTITY.cs
- LogPolicy.cs
- Constants.cs
- EdmScalarPropertyAttribute.cs
- ProgressiveCrcCalculatingStream.cs
- LocalizedNameDescriptionPair.cs
- MenuItemBindingCollection.cs
- BackStopAuthenticationModule.cs
- EventEntry.cs
- EnlistmentTraceIdentifier.cs
- ChannelHandler.cs
- XmlUtil.cs
- tibetanshape.cs
- SqlUtil.cs
- ObjectViewQueryResultData.cs
- SerializationObjectManager.cs
- UriTemplateVariablePathSegment.cs
- CodePageUtils.cs
- PageRanges.cs
- FontUnitConverter.cs
- Constants.cs
- _LocalDataStore.cs
- HtmlImage.cs
- WebPartCloseVerb.cs
- MethodBuilderInstantiation.cs
- TreeNodeBindingCollection.cs
- SecurityTokenResolver.cs
- DbDataReader.cs
- IDataContractSurrogate.cs
- ObjectStateFormatter.cs
- PrtCap_Builder.cs
- bidPrivateBase.cs
- CriticalHandle.cs
- RelationshipType.cs
- ProcessInfo.cs
- DataGridRowDetailsEventArgs.cs
- NotifyCollectionChangedEventArgs.cs
- HttpValueCollection.cs
- GridViewCellAutomationPeer.cs
- PenContexts.cs