Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / ConvertBinder.cs / 1305376 / ConvertBinder.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 convert dynamic operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class ConvertBinder : DynamicMetaObjectBinder { private readonly Type _type; private readonly bool _explicit; ////// Initializes a new intsance of the /// The type to convert to. /// true if the conversion should consider explicit conversions; otherwise, false. protected ConvertBinder(Type type, bool @explicit) { ContractUtils.RequiresNotNull(type, "type"); _type = type; _explicit = @explicit; } ///. /// /// The type to convert to. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods")] public Type Type { get { return _type; } } ////// Gets the value indicating if the conversion should consider explicit conversions. /// public bool Explicit { get { return _explicit; } } ////// Performs the binding of the dynamic convert operation if the target dynamic object cannot bind. /// /// The target of the dynamic convert operation. ///The public DynamicMetaObject FallbackConvert(DynamicMetaObject target) { return FallbackConvert(target, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic convert operation if the target dynamic object cannot bind. /// /// The target of the dynamic convert operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion); ///representing the result of the binding. /// Performs the binding of the dynamic convert operation. /// /// The target of the dynamic convert operation. /// An array of arguments of the dynamic convert operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.Requires(args == null || args.Length == 0, "args"); return target.BindConvert(this); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } ///representing the result of the binding. /// The result type of the operation. /// public override sealed Type ReturnType { get { return _type; } } } } // 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
- ResXFileRef.cs
- StrongName.cs
- TextLine.cs
- DetailsViewInsertEventArgs.cs
- SystemWebCachingSectionGroup.cs
- AccessibleObject.cs
- RepeaterItem.cs
- PtsHelper.cs
- HttpListenerRequest.cs
- TableItemPatternIdentifiers.cs
- ModuleConfigurationInfo.cs
- HostingEnvironmentSection.cs
- DataContractSerializerFaultFormatter.cs
- GeometryCollection.cs
- SplayTreeNode.cs
- VirtualizedItemPattern.cs
- RootNamespaceAttribute.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- InvalidEnumArgumentException.cs
- Ray3DHitTestResult.cs
- Comparer.cs
- WebPartActionVerb.cs
- RepeaterItem.cs
- VirtualPathProvider.cs
- Version.cs
- PageHandlerFactory.cs
- ScriptRegistrationManager.cs
- OpenFileDialog.cs
- FilteredDataSetHelper.cs
- NetStream.cs
- FreezableCollection.cs
- DataServiceException.cs
- MasterPage.cs
- ListViewCancelEventArgs.cs
- BaseUriHelper.cs
- xamlnodes.cs
- Padding.cs
- CodeExpressionCollection.cs
- DesignerTransaction.cs
- MatchAttribute.cs
- DateTimeHelper.cs
- InputLanguageSource.cs
- ThrowHelper.cs
- TypeSystem.cs
- ButtonAutomationPeer.cs
- AssemblyCache.cs
- precedingsibling.cs
- UIPermission.cs
- EdmPropertyAttribute.cs
- IgnoreFileBuildProvider.cs
- ToolStripLabel.cs
- MessageDecoder.cs
- ExpandCollapsePattern.cs
- arc.cs
- ReferencedCollectionType.cs
- EntityModelSchemaGenerator.cs
- XamlGridLengthSerializer.cs
- DescendentsWalker.cs
- Accessible.cs
- LoginCancelEventArgs.cs
- BitmapEffect.cs
- HtmlEncodedRawTextWriter.cs
- ModelItemImpl.cs
- HttpPostedFileBase.cs
- CreateDataSourceDialog.cs
- RuleAction.cs
- PeerCredential.cs
- BuiltInExpr.cs
- SiteMembershipCondition.cs
- Condition.cs
- ToolboxItemFilterAttribute.cs
- DateTimeOffsetConverter.cs
- CellCreator.cs
- MatchingStyle.cs
- TransformedBitmap.cs
- RootNamespaceAttribute.cs
- ScriptModule.cs
- CapabilitiesUse.cs
- CodeSubDirectory.cs
- GroupedContextMenuStrip.cs
- Floater.cs
- CompositeScriptReferenceEventArgs.cs
- WinEventHandler.cs
- SimpleTextLine.cs
- NamespaceInfo.cs
- DataAdapter.cs
- PrintPreviewDialog.cs
- InlinedAggregationOperator.cs
- Converter.cs
- DataGridTable.cs
- CompositeDataBoundControl.cs
- BooleanSwitch.cs
- InstanceDataCollectionCollection.cs
- Attributes.cs
- MutexSecurity.cs
- counter.cs
- CodePrimitiveExpression.cs
- FormParameter.cs
- CompiledXpathExpr.cs
- PageOutputQuality.cs