Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / DeleteMemberBinder.cs / 1305376 / DeleteMemberBinder.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; namespace System.Dynamic { ////// Represents the dynamic delete member operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class DeleteMemberBinder : DynamicMetaObjectBinder { private readonly string _name; private readonly bool _ignoreCase; ////// Initializes a new instance of the /// The name of the member to delete. /// true if the name should be matched ignoring case; false otherwise. protected DeleteMemberBinder(string name, bool ignoreCase) { ContractUtils.RequiresNotNull(name, "name"); _name = name; _ignoreCase = ignoreCase; } ///. /// /// Gets the name of the member to delete. /// public string Name { get { return _name; } } ////// Gets the value indicating if the string comparison should ignore the case of the member name. /// public bool IgnoreCase { get { return _ignoreCase; } } ////// The result type of the operation. /// public override sealed Type ReturnType { get { return typeof(void); } } ////// Performs the binding of the dynamic delete member operation if the target dynamic object cannot bind. /// /// The target of the dynamic delete member operation. ///The public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target) { return FallbackDeleteMember(target, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic delete member operation if the target dynamic object cannot bind. /// /// The target of the dynamic delete member operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion); ///representing the result of the binding. /// Performs the binding of the dynamic delete member operation. /// /// The target of the dynamic delete member operation. /// An array of arguments of the dynamic delete member operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.Requires(args == null || args.Length == 0); return target.BindDeleteMember(this); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.representing the result of the binding.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransactionManager.cs
- PackWebResponse.cs
- AdjustableArrowCap.cs
- DummyDataSource.cs
- UserControlDocumentDesigner.cs
- TimelineClockCollection.cs
- UriTemplateClientFormatter.cs
- ProjectionPath.cs
- Errors.cs
- BasicCellRelation.cs
- BezierSegment.cs
- NavigateEvent.cs
- ListBindingConverter.cs
- CancelRequestedRecord.cs
- SrgsElement.cs
- RightNameExpirationInfoPair.cs
- EnumMemberAttribute.cs
- BitmapEffect.cs
- CustomCategoryAttribute.cs
- MiniLockedBorderGlyph.cs
- WebResourceAttribute.cs
- ClipboardData.cs
- PermissionSetEnumerator.cs
- LifetimeServices.cs
- Accessors.cs
- TemplateBindingExpression.cs
- ProgressBar.cs
- ClientSponsor.cs
- CriticalHandle.cs
- GetParentChain.cs
- PackWebRequest.cs
- MenuItem.cs
- ValidationResult.cs
- AsymmetricKeyExchangeFormatter.cs
- WSUtilitySpecificationVersion.cs
- MethodSignatureGenerator.cs
- Brush.cs
- SoapExtension.cs
- TypeFieldSchema.cs
- QueryMatcher.cs
- ScanQueryOperator.cs
- listitem.cs
- SessionEndingCancelEventArgs.cs
- ListViewItemSelectionChangedEvent.cs
- httpstaticobjectscollection.cs
- ErrorEventArgs.cs
- RoutingEndpointTrait.cs
- PageClientProxyGenerator.cs
- Hash.cs
- ISO2022Encoding.cs
- QilUnary.cs
- EntityParameter.cs
- MultiTouchSystemGestureLogic.cs
- StatusBarItem.cs
- ProjectionPruner.cs
- FixedBufferAttribute.cs
- DelegateBodyWriter.cs
- X509CertificateTokenFactoryCredential.cs
- DataGridViewSelectedColumnCollection.cs
- SocketException.cs
- XsltSettings.cs
- XsltLibrary.cs
- SimpleTypeResolver.cs
- XmlReaderSettings.cs
- AnimationException.cs
- HtmlObjectListAdapter.cs
- TagNameToTypeMapper.cs
- SimpleApplicationHost.cs
- SpecularMaterial.cs
- NotifyIcon.cs
- PanelStyle.cs
- HistoryEventArgs.cs
- FrameworkTextComposition.cs
- PageRequestManager.cs
- TaskHelper.cs
- DataControlFieldHeaderCell.cs
- AppSettingsSection.cs
- PropertyBuilder.cs
- ThicknessKeyFrameCollection.cs
- SoundPlayer.cs
- NavigationPropertySingletonExpression.cs
- TransactionFlowAttribute.cs
- PersonalizationAdministration.cs
- PanelStyle.cs
- DelayDesigner.cs
- ChineseLunisolarCalendar.cs
- ServiceHostingEnvironmentSection.cs
- SafeNativeMethods.cs
- ColumnClickEvent.cs
- SchemaElementLookUpTableEnumerator.cs
- SweepDirectionValidation.cs
- TableItemProviderWrapper.cs
- MULTI_QI.cs
- DurableEnlistmentState.cs
- InvokeProviderWrapper.cs
- MouseBinding.cs
- CodeExpressionCollection.cs
- ChildDocumentBlock.cs
- RecordManager.cs
- DateTimeOffsetConverter.cs