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
- CodeSnippetTypeMember.cs
- LineGeometry.cs
- FileEnumerator.cs
- RightsManagementManager.cs
- SafeRegistryHandle.cs
- RegionIterator.cs
- ZoneButton.cs
- WebZone.cs
- LayoutManager.cs
- ApplicationFileParser.cs
- XmlUrlResolver.cs
- PolicyReader.cs
- EventLogHandle.cs
- TemplateBamlTreeBuilder.cs
- C14NUtil.cs
- KeyEvent.cs
- EasingFunctionBase.cs
- InstanceOwnerException.cs
- ProgressPage.cs
- securestring.cs
- CircleHotSpot.cs
- RuntimeEnvironment.cs
- SqlRetyper.cs
- HwndAppCommandInputProvider.cs
- InfoCardCryptoHelper.cs
- Debug.cs
- TemplateBindingExtensionConverter.cs
- NativeObjectSecurity.cs
- ListViewPagedDataSource.cs
- ReferenceAssemblyAttribute.cs
- IPCCacheManager.cs
- MonitorWrapper.cs
- TCPClient.cs
- ErrorFormatter.cs
- CellTreeNodeVisitors.cs
- CodeCastExpression.cs
- CodeConditionStatement.cs
- BitmapCacheBrush.cs
- TreeIterator.cs
- FreezableOperations.cs
- PngBitmapEncoder.cs
- CqlParserHelpers.cs
- SystemException.cs
- CaseStatement.cs
- PlatformNotSupportedException.cs
- BaseDataListComponentEditor.cs
- XPathNodeList.cs
- TrackingDataItemValue.cs
- PageHandlerFactory.cs
- ActivityInstance.cs
- ResXResourceWriter.cs
- VoiceChangeEventArgs.cs
- ReadOnlyHierarchicalDataSourceView.cs
- WebBrowserHelper.cs
- Missing.cs
- FixUpCollection.cs
- OleDbCommand.cs
- regiisutil.cs
- CaseInsensitiveOrdinalStringComparer.cs
- SqlTypesSchemaImporter.cs
- FeatureManager.cs
- ListViewItem.cs
- XmlIterators.cs
- ComponentFactoryHelpers.cs
- BindingCompleteEventArgs.cs
- OleTxTransaction.cs
- DateTimePicker.cs
- HttpCacheVary.cs
- HandledMouseEvent.cs
- IdentityHolder.cs
- PassportAuthenticationEventArgs.cs
- Pen.cs
- MasterPageCodeDomTreeGenerator.cs
- NativeMethodsCLR.cs
- GridViewCommandEventArgs.cs
- PointAnimation.cs
- Subset.cs
- PriorityBindingExpression.cs
- NativeMethods.cs
- SapiAttributeParser.cs
- ActivityScheduledQuery.cs
- ResXBuildProvider.cs
- ToolboxItem.cs
- DecimalConstantAttribute.cs
- AuthenticationConfig.cs
- Evidence.cs
- HttpModuleCollection.cs
- _NtlmClient.cs
- CheckBoxFlatAdapter.cs
- FormViewUpdateEventArgs.cs
- XmlSchemaSet.cs
- SqlMethodAttribute.cs
- RequestCacheManager.cs
- JsonReaderWriterFactory.cs
- Rect.cs
- ToolStripProgressBar.cs
- IconHelper.cs
- HtmlInputPassword.cs
- HtmlElementErrorEventArgs.cs
- DiscoveryDocumentSerializer.cs