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
- LayoutExceptionEventArgs.cs
- Oid.cs
- OutKeywords.cs
- TraceUtility.cs
- InputMethod.cs
- BounceEase.cs
- SystemPens.cs
- HtmlElementErrorEventArgs.cs
- ParseNumbers.cs
- WindowsFormsHostPropertyMap.cs
- BooleanAnimationBase.cs
- CodeSubDirectory.cs
- SqlProfileProvider.cs
- ZoneIdentityPermission.cs
- SweepDirectionValidation.cs
- Tuple.cs
- TemplateGroupCollection.cs
- ByeOperation11AsyncResult.cs
- WebPartUtil.cs
- DataGridViewMethods.cs
- CqlGenerator.cs
- CodeObject.cs
- DbParameterCollection.cs
- ItemMap.cs
- COAUTHINFO.cs
- ToolStripItemCollection.cs
- SerializationFieldInfo.cs
- SerializableTypeCodeDomSerializer.cs
- HtmlContainerControl.cs
- AppDomainUnloadedException.cs
- RealizedColumnsBlock.cs
- SequenceFullException.cs
- SoapIgnoreAttribute.cs
- Types.cs
- storepermission.cs
- OracleCommand.cs
- ProxyGenerator.cs
- ColumnMapCopier.cs
- PropertyDescriptor.cs
- InitializationEventAttribute.cs
- Asn1IntegerConverter.cs
- DataSourceBooleanViewSchemaConverter.cs
- DbTransaction.cs
- OutputScopeManager.cs
- CancelEventArgs.cs
- ZeroOpNode.cs
- PolicyStatement.cs
- LineGeometry.cs
- GraphicsPath.cs
- MetaTable.cs
- CodeRegionDirective.cs
- LicFileLicenseProvider.cs
- ToolStripSplitButton.cs
- ConfigErrorGlyph.cs
- SecurityElement.cs
- StreamResourceInfo.cs
- ZeroOpNode.cs
- DnsEndPoint.cs
- GenericTextProperties.cs
- SecurityPermission.cs
- UITypeEditors.cs
- IERequestCache.cs
- MobileCapabilities.cs
- FileDialog.cs
- DrawTreeNodeEventArgs.cs
- ExpressionBuilder.cs
- ChannelReliableSession.cs
- ContentFileHelper.cs
- ComponentDispatcher.cs
- COM2PictureConverter.cs
- WebPartDisplayModeEventArgs.cs
- activationcontext.cs
- MetaTableHelper.cs
- DataMisalignedException.cs
- CheckBoxPopupAdapter.cs
- ActivityTypeResolver.xaml.cs
- TextFormatter.cs
- SqlFacetAttribute.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- ViewCellSlot.cs
- CDSCollectionETWBCLProvider.cs
- TypeInfo.cs
- SessionPageStatePersister.cs
- TabControl.cs
- ImagingCache.cs
- PerformanceCounterManager.cs
- AppSecurityManager.cs
- AncestorChangedEventArgs.cs
- CodeAttachEventStatement.cs
- TableLayoutPanel.cs
- PrintPreviewGraphics.cs
- WSFederationHttpSecurityMode.cs
- DecoderFallbackWithFailureFlag.cs
- SafeArchiveContext.cs
- TextDecoration.cs
- CompareValidator.cs
- GridToolTip.cs
- ProfileGroupSettings.cs
- TextServicesPropertyRanges.cs
- DifferencingCollection.cs