Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / GetMemberBinder.cs / 1305376 / GetMemberBinder.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 get member operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class GetMemberBinder : DynamicMetaObjectBinder { private readonly string _name; private readonly bool _ignoreCase; ////// Initializes a new instance of the /// The name of the member to get. /// true if the name should be matched ignoring case; false otherwise. protected GetMemberBinder(string name, bool ignoreCase) { ContractUtils.RequiresNotNull(name, "name"); _name = name; _ignoreCase = ignoreCase; } ///. /// /// The result type of the operation. /// public override sealed Type ReturnType { get { return typeof(object); } } ////// Gets the name of the member to get. /// 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; } } ////// Performs the binding of the dynamic get member operation if the target dynamic object cannot bind. /// /// The target of the dynamic get member operation. ///The public DynamicMetaObject FallbackGetMember(DynamicMetaObject target) { return FallbackGetMember(target, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic get member operation if the target dynamic object cannot bind. /// /// The target of the dynamic get member operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion); ///representing the result of the binding. /// Performs the binding of the dynamic get member operation. /// /// The target of the dynamic get member operation. /// An array of arguments of the dynamic get member operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, params DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.Requires(args == null || args.Length == 0, "args"); return target.BindGetMember(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
- ContextProperty.cs
- VectorCollection.cs
- WebBrowserContainer.cs
- LocalizableAttribute.cs
- HtmlForm.cs
- PropertyMetadata.cs
- EntityDataSourceView.cs
- MDIClient.cs
- QueryConverter.cs
- CorrelationManager.cs
- ExportException.cs
- FileIOPermission.cs
- controlskin.cs
- EncoderExceptionFallback.cs
- XDRSchema.cs
- PersonalizationEntry.cs
- WebPartConnectionCollection.cs
- JavaScriptObjectDeserializer.cs
- GridView.cs
- BamlLocalizationDictionary.cs
- ResourceFallbackManager.cs
- CompositeScriptReferenceEventArgs.cs
- TokenBasedSet.cs
- ButtonBase.cs
- ProfilePropertySettingsCollection.cs
- Clipboard.cs
- DispatcherOperation.cs
- ImageCodecInfo.cs
- SRGSCompiler.cs
- QueryServiceConfigHandle.cs
- SqlNotificationRequest.cs
- ListView.cs
- ColorContextHelper.cs
- ObjectCacheSettings.cs
- InputScopeManager.cs
- EFAssociationProvider.cs
- Emitter.cs
- IdentityReference.cs
- TypefaceMetricsCache.cs
- UserPreferenceChangedEventArgs.cs
- graph.cs
- DocumentPageView.cs
- DefaultTextStore.cs
- DashStyle.cs
- WebResponse.cs
- OSFeature.cs
- ListSourceHelper.cs
- GridViewRowCollection.cs
- InlineObject.cs
- WebPartCollection.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- FileSystemEventArgs.cs
- AngleUtil.cs
- Int64.cs
- SafeBitVector32.cs
- PagedDataSource.cs
- CodeDomComponentSerializationService.cs
- GAC.cs
- SmtpReplyReaderFactory.cs
- ErrorHandlerFaultInfo.cs
- EntityDataSourceColumn.cs
- ScrollEventArgs.cs
- JsonReaderWriterFactory.cs
- SchemaNotation.cs
- TagPrefixAttribute.cs
- GeneralTransform3DTo2D.cs
- PreviewPageInfo.cs
- InputLangChangeEvent.cs
- ParseElementCollection.cs
- HttpWriter.cs
- ValueChangedEventManager.cs
- UnknownBitmapDecoder.cs
- UrlPropertyAttribute.cs
- _ListenerRequestStream.cs
- PreviousTrackingServiceAttribute.cs
- TemplateManager.cs
- Serializer.cs
- WebPartConnectionsEventArgs.cs
- CodeTypeConstructor.cs
- QilList.cs
- SecurityPermission.cs
- COAUTHINFO.cs
- XmlBinaryReader.cs
- PackageController.cs
- SignatureHelper.cs
- EntityDataSource.cs
- GifBitmapEncoder.cs
- ButtonAutomationPeer.cs
- ConstraintConverter.cs
- DbConnectionPoolIdentity.cs
- PointHitTestResult.cs
- ResourceDisplayNameAttribute.cs
- Polyline.cs
- SrgsGrammar.cs
- SelectionEditor.cs
- ChannelRequirements.cs
- SharedStatics.cs
- NavigationWindow.cs
- DragStartedEventArgs.cs
- Token.cs