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
- DBDataPermission.cs
- DataServicePagingProviderWrapper.cs
- NameObjectCollectionBase.cs
- ColorConverter.cs
- LookupNode.cs
- Lock.cs
- SQLGuidStorage.cs
- FrameworkTextComposition.cs
- StateItem.cs
- TableParaClient.cs
- DataColumnPropertyDescriptor.cs
- TextServicesProperty.cs
- TriState.cs
- WS2007HttpBindingElement.cs
- EdmMember.cs
- ToolStripRenderer.cs
- NamedPipeTransportSecurity.cs
- KeyBinding.cs
- IConvertible.cs
- EncoderReplacementFallback.cs
- EnumMemberAttribute.cs
- ToolStripSystemRenderer.cs
- GeneralTransform2DTo3D.cs
- LabelLiteral.cs
- MappingItemCollection.cs
- smtpconnection.cs
- SchemaMapping.cs
- DetailsViewDeleteEventArgs.cs
- ScriptManager.cs
- SchemeSettingElement.cs
- Point4D.cs
- SoapSchemaMember.cs
- ComNativeDescriptor.cs
- Context.cs
- GcHandle.cs
- UnsafeNativeMethods.cs
- DataGridRow.cs
- listitem.cs
- WebMessageEncodingElement.cs
- SqlUnionizer.cs
- complextypematerializer.cs
- UInt16Storage.cs
- HtmlTextArea.cs
- UInt16Storage.cs
- _ProxyChain.cs
- CodeIdentifier.cs
- bidPrivateBase.cs
- MarkedHighlightComponent.cs
- ScrollEvent.cs
- TextBoxBase.cs
- ZipIOExtraField.cs
- EllipseGeometry.cs
- UserControlBuildProvider.cs
- ProtectedConfigurationSection.cs
- PnrpPermission.cs
- SmiMetaData.cs
- Funcletizer.cs
- GroupBoxDesigner.cs
- VisualStateManager.cs
- InvalidOperationException.cs
- DesignTimeSiteMapProvider.cs
- CodeDirectionExpression.cs
- MapPathBasedVirtualPathProvider.cs
- WebPartConnectionsDisconnectVerb.cs
- LongValidatorAttribute.cs
- SharedPerformanceCounter.cs
- EditCommandColumn.cs
- RuntimeConfig.cs
- TTSEngineTypes.cs
- RegexCharClass.cs
- CheckBoxPopupAdapter.cs
- OrderByLifter.cs
- CompilationUtil.cs
- EditableRegion.cs
- XDeferredAxisSource.cs
- ViewStateException.cs
- BinaryObjectReader.cs
- CodeExporter.cs
- Error.cs
- LocatorBase.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- XmlBinaryReader.cs
- RuntimeDelegateArgument.cs
- DesignerActionListCollection.cs
- BrowsableAttribute.cs
- DataGridTablesFactory.cs
- DataGridItem.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- X509ChainElement.cs
- TraceContext.cs
- MessageSecurityOverMsmq.cs
- CodeCompileUnit.cs
- FixedSOMLineCollection.cs
- FormatConvertedBitmap.cs
- ChildrenQuery.cs
- ConnectionStringsExpressionBuilder.cs
- SettingsPropertyWrongTypeException.cs
- SqlConnectionString.cs
- GraphicsPath.cs
- AssemblyHash.cs