Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / CallSiteHelpers.cs / 1305376 / CallSiteHelpers.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.Reflection; namespace System.Runtime.CompilerServices { ////// Class that contains helper methods for DLR CallSites. /// public static class CallSiteHelpers { private static Type _knownNonDynamicMethodType = typeof(object).GetMethod("ToString").GetType(); ////// Checks if a /// The inputis internally used by DLR and should not /// be displayed on the language code's stack. /// /// /// True if the input [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")] public static bool IsInternalFrame(MethodBase mb) { //All the dynamic methods created for DLR rules have a special name. //We also check if the method has a different type than the known //non-static method. If it does, it is a dynamic method. //This could be improved if the CLR provides a way to attach some information //to the dynamic method we create, like CustomAttributes. if (mb.Name == "CallSite.Target" && mb.GetType() != _knownNonDynamicMethodType) { return true; } //Filter out the helper methods. if (mb.DeclaringType == typeof(System.Dynamic.UpdateDelegates)) { return true; } return false; } } } // 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.Reflection; namespace System.Runtime.CompilerServices { ///is internally used by DLR and should not /// be displayed on the language code's stack. Otherwise, false. /// /// Class that contains helper methods for DLR CallSites. /// public static class CallSiteHelpers { private static Type _knownNonDynamicMethodType = typeof(object).GetMethod("ToString").GetType(); ////// Checks if a /// The inputis internally used by DLR and should not /// be displayed on the language code's stack. /// /// /// True if the input [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")] public static bool IsInternalFrame(MethodBase mb) { //All the dynamic methods created for DLR rules have a special name. //We also check if the method has a different type than the known //non-static method. If it does, it is a dynamic method. //This could be improved if the CLR provides a way to attach some information //to the dynamic method we create, like CustomAttributes. if (mb.Name == "CallSite.Target" && mb.GetType() != _knownNonDynamicMethodType) { return true; } //Filter out the helper methods. if (mb.DeclaringType == typeof(System.Dynamic.UpdateDelegates)) { return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.is internally used by DLR and should not /// be displayed on the language code's stack. Otherwise, false. ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RefreshPropertiesAttribute.cs
- PersianCalendar.cs
- ToolStripPanel.cs
- MetadataCollection.cs
- DBNull.cs
- MediaScriptCommandRoutedEventArgs.cs
- PeerNameRegistration.cs
- FixedSOMGroup.cs
- WmlLinkAdapter.cs
- ADMembershipUser.cs
- Predicate.cs
- ReachUIElementCollectionSerializer.cs
- HtmlShimManager.cs
- Control.cs
- GenericUI.cs
- _RegBlobWebProxyDataBuilder.cs
- StorageMappingItemLoader.cs
- DrawItemEvent.cs
- TableLayoutCellPaintEventArgs.cs
- HttpApplication.cs
- SessionStateUtil.cs
- _SSPIWrapper.cs
- ErrorWrapper.cs
- BitmapScalingModeValidation.cs
- GridViewRowCollection.cs
- ToolTip.cs
- QueryPageSettingsEventArgs.cs
- APCustomTypeDescriptor.cs
- DbConnectionPoolGroup.cs
- AuthenticationModuleElement.cs
- FileAccessException.cs
- FrameworkContentElement.cs
- ServerValidateEventArgs.cs
- MasterPageParser.cs
- XmlSchemaObjectCollection.cs
- VariableValue.cs
- Models.cs
- UnsafeNativeMethods.cs
- smtpconnection.cs
- StructuredTypeEmitter.cs
- CollectionViewSource.cs
- Pair.cs
- Binding.cs
- RegexStringValidatorAttribute.cs
- TreeNodeCollectionEditorDialog.cs
- ReaderWriterLockWrapper.cs
- AuthenticationService.cs
- DataGridViewCheckBoxColumn.cs
- DataGridRowHeaderAutomationPeer.cs
- ExpressionConverter.cs
- DataContractJsonSerializerOperationFormatter.cs
- RelativeSource.cs
- ConfigurationManagerInternal.cs
- SqlSelectClauseBuilder.cs
- TableHeaderCell.cs
- PropertyOverridesTypeEditor.cs
- InlineCollection.cs
- CustomPopupPlacement.cs
- PropertyGeneratedEventArgs.cs
- MarginsConverter.cs
- CopyEncoder.cs
- RIPEMD160.cs
- DrawingServices.cs
- CacheChildrenQuery.cs
- XsltException.cs
- SoapElementAttribute.cs
- SpeakInfo.cs
- Rotation3DAnimation.cs
- InstanceData.cs
- SHA384Cng.cs
- ObjectItemCollection.cs
- ContextMenuAutomationPeer.cs
- CookielessHelper.cs
- AliasGenerator.cs
- ActivityTrace.cs
- PasswordRecoveryDesigner.cs
- ObjectListTitleAttribute.cs
- DragStartedEventArgs.cs
- QueryExpression.cs
- DatatypeImplementation.cs
- _BufferOffsetSize.cs
- DashStyles.cs
- LazyLoadBehavior.cs
- OutputCacheSection.cs
- ToolStripItemDataObject.cs
- SqlReorderer.cs
- DataGridColumnCollectionEditor.cs
- _HeaderInfo.cs
- DependentList.cs
- HyperLinkField.cs
- _FixedSizeReader.cs
- WinEventTracker.cs
- IncomingWebRequestContext.cs
- CollectionDataContract.cs
- Zone.cs
- CommandValueSerializer.cs
- EventManager.cs
- CroppedBitmap.cs
- ComplexObject.cs
- PointLightBase.cs