Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / Filter / ExpressionNode.cs / 1 / ExpressionNode.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.Collections.Generic; using System.Data.Common; using System.Data.SqlTypes; internal abstract class ExpressionNode { private DataTable _table; protected ExpressionNode(DataTable table) { _table = table; } internal IFormatProvider FormatProvider { get { return ((null != _table) ? _table.FormatProvider : System.Globalization.CultureInfo.CurrentCulture); } } internal virtual bool IsSqlColumn{ get{ return false; } } protected DataTable table { get { return _table; } } protected void BindTable(DataTable table) { // when the expression is created, DataColumn may not be associated with a table yet _table = table; } internal abstract void Bind(DataTable table, Listlist); internal abstract object Eval(); internal abstract object Eval(DataRow row, DataRowVersion version); internal abstract object Eval(int[] recordNos); internal abstract bool IsConstant(); internal abstract bool IsTableConstant(); internal abstract bool HasLocalAggregate(); internal abstract bool HasRemoteAggregate(); internal abstract ExpressionNode Optimize(); internal virtual bool DependsOn(DataColumn column) { return false; } internal static bool IsInteger(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte); } internal static bool IsIntegerSql(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SByte || type == StorageType.Byte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || type == StorageType.SqlByte); } internal static bool IsSigned(StorageType type) { return(type == StorageType.Int16 || type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || IsFloat(type)); } internal static bool IsSignedSql(StorageType type) { return(type == StorageType.Int16 || // IsSigned(type) type == StorageType.Int32 || type == StorageType.Int64 || type == StorageType.SByte || type == StorageType.SqlInt64 || type == StorageType.SqlInt32 || type == StorageType.SqlInt16 || IsFloatSql(type)); } internal static bool IsUnsigned(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.Byte); } internal static bool IsUnsignedSql(StorageType type) { return(type == StorageType.UInt16 || type == StorageType.UInt32 || type == StorageType.UInt64 || type == StorageType.SqlByte ||// SqlByte represents an 8-bit unsigned integer, in the range of 0 through 255, type == StorageType.Byte); } internal static bool IsNumeric(StorageType type) { return(IsFloat(type) || IsInteger(type)); } internal static bool IsNumericSql(StorageType type) { return(IsFloatSql(type) || IsIntegerSql(type)); } internal static bool IsFloat(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal); } internal static bool IsFloatSql(StorageType type) { return(type == StorageType.Single || type == StorageType.Double || type == StorageType.Decimal || type == StorageType.SqlDouble || type == StorageType.SqlDecimal || // I expect decimal to be Integer! type == StorageType.SqlMoney || // if decimal is here, this should be definitely here! type == StorageType.SqlSingle); } } } // 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
- DesignerHelpers.cs
- CommandBinding.cs
- NetStream.cs
- OneOfTypeConst.cs
- SafeNativeMethods.cs
- DataColumnCollection.cs
- EntityCommandExecutionException.cs
- TaskCanceledException.cs
- ListViewItemEventArgs.cs
- UpdatePanel.cs
- SamlAuthorityBinding.cs
- _Events.cs
- SizeConverter.cs
- RankException.cs
- FileDialogCustomPlacesCollection.cs
- SafeRightsManagementHandle.cs
- InkSerializer.cs
- XslCompiledTransform.cs
- Pair.cs
- StatusBarItem.cs
- ServiceNameElementCollection.cs
- DefaultObjectMappingItemCollection.cs
- InheritanceAttribute.cs
- RuntimeConfig.cs
- RegularExpressionValidator.cs
- recordstate.cs
- CommonXSendMessage.cs
- TextFormattingConverter.cs
- ZipIOExtraFieldPaddingElement.cs
- Accessible.cs
- SemanticBasicElement.cs
- PathSegment.cs
- ApplyHostConfigurationBehavior.cs
- DataRelationPropertyDescriptor.cs
- SharedPerformanceCounter.cs
- AuthenticationServiceManager.cs
- precedingsibling.cs
- RoutedEventArgs.cs
- FormViewPagerRow.cs
- DataGridRelationshipRow.cs
- EventMap.cs
- ComEventsHelper.cs
- NavigationWindowAutomationPeer.cs
- XmlSchemaGroup.cs
- FloaterParaClient.cs
- TextAction.cs
- SqlRemoveConstantOrderBy.cs
- RegexCharClass.cs
- CredentialCache.cs
- DocumentSequence.cs
- ProfileSection.cs
- DispatcherExceptionFilterEventArgs.cs
- XD.cs
- GroupDescription.cs
- VariableDesigner.xaml.cs
- TypeNameConverter.cs
- RectangleConverter.cs
- MessagePropertyDescriptionCollection.cs
- EDesignUtil.cs
- MulticastOption.cs
- DataGridViewLayoutData.cs
- DuplicateWaitObjectException.cs
- basevalidator.cs
- DeploymentSection.cs
- DomainUpDown.cs
- DaylightTime.cs
- ParserOptions.cs
- BitmapEffect.cs
- MaskInputRejectedEventArgs.cs
- SQLResource.cs
- DocumentViewerHelper.cs
- WebException.cs
- SQLRoleProvider.cs
- DataGridViewHeaderCell.cs
- StringArrayConverter.cs
- JapaneseCalendar.cs
- MatrixTransform.cs
- BindingContext.cs
- OdbcParameterCollection.cs
- ChannelRequirements.cs
- FormsAuthenticationModule.cs
- FileVersionInfo.cs
- HtmlTableCellCollection.cs
- RegionIterator.cs
- AuthenticationModulesSection.cs
- VirtualPath.cs
- QueryCacheKey.cs
- MSG.cs
- DocumentsTrace.cs
- Timer.cs
- WebReferencesBuildProvider.cs
- sqlinternaltransaction.cs
- ExtendedProtectionPolicyTypeConverter.cs
- IntegerValidator.cs
- DbConnectionStringCommon.cs
- ColorDialog.cs
- PersonalizationState.cs
- StaticFileHandler.cs
- PngBitmapDecoder.cs
- FormConverter.cs