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
- VisualBrush.cs
- IpcServerChannel.cs
- AttributeTableBuilder.cs
- StylusSystemGestureEventArgs.cs
- MemberExpression.cs
- MessagePartSpecification.cs
- FlowDocumentView.cs
- GridViewColumn.cs
- ComPlusServiceHost.cs
- TextCollapsingProperties.cs
- HashLookup.cs
- Size3DConverter.cs
- TableLayoutPanelDesigner.cs
- MessageBox.cs
- DynamicQueryStringParameter.cs
- FaultPropagationRecord.cs
- BasicExpandProvider.cs
- TextChange.cs
- HebrewNumber.cs
- BaseProcessor.cs
- BindingListCollectionView.cs
- TraceSwitch.cs
- QilExpression.cs
- Column.cs
- MergeFailedEvent.cs
- Pair.cs
- BinHexEncoder.cs
- UInt16.cs
- PerformanceCounterManager.cs
- RouteCollection.cs
- ProfessionalColors.cs
- MediaElement.cs
- HoistedLocals.cs
- SafeNativeMethods.cs
- StandardToolWindows.cs
- CompressedStack.cs
- TraversalRequest.cs
- NotifyIcon.cs
- Encoding.cs
- ListDictionary.cs
- ExpressionSelection.cs
- AVElementHelper.cs
- GeometryGroup.cs
- DynamicRenderer.cs
- GregorianCalendar.cs
- ConnectionInterfaceCollection.cs
- AlphaSortedEnumConverter.cs
- ToolStripLabel.cs
- TimeEnumHelper.cs
- OrthographicCamera.cs
- objectresult_tresulttype.cs
- TextTreeTextBlock.cs
- EdgeModeValidation.cs
- EventLogStatus.cs
- ContainerVisual.cs
- DesignerSerializationVisibilityAttribute.cs
- DataColumnPropertyDescriptor.cs
- HwndSubclass.cs
- MessageBox.cs
- PromptBuilder.cs
- DelegatedStream.cs
- _NativeSSPI.cs
- SecurityManager.cs
- SafeFileMappingHandle.cs
- HealthMonitoringSection.cs
- NullableConverter.cs
- LazyTextWriterCreator.cs
- ParallelSeparator.xaml.cs
- followingsibling.cs
- SyntaxCheck.cs
- ButtonFieldBase.cs
- SubMenuStyleCollection.cs
- login.cs
- OpenTypeCommon.cs
- SerializationStore.cs
- ListMarkerSourceInfo.cs
- WebException.cs
- FontUnitConverter.cs
- AssemblyGen.cs
- PageAdapter.cs
- XmlSchemaSimpleTypeList.cs
- DbConnectionPoolIdentity.cs
- StreamWithDictionary.cs
- CodeIterationStatement.cs
- GridViewUpdatedEventArgs.cs
- FileDialog.cs
- GCHandleCookieTable.cs
- WebPartZoneBase.cs
- SessionEndingEventArgs.cs
- AnnotationAuthorChangedEventArgs.cs
- TrackingMemoryStreamFactory.cs
- SmiContext.cs
- JsonDataContract.cs
- DictionaryGlobals.cs
- SuppressMessageAttribute.cs
- XhtmlConformanceSection.cs
- StringFreezingAttribute.cs
- ToolBarButtonClickEvent.cs
- PenCursorManager.cs
- WindowShowOrOpenTracker.cs