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
- EpmContentDeSerializer.cs
- LassoSelectionBehavior.cs
- DrawingGroup.cs
- IChannel.cs
- EdmScalarPropertyAttribute.cs
- MetadataItemSerializer.cs
- ChtmlCalendarAdapter.cs
- InvokeMethodActivityDesigner.cs
- ListViewSortEventArgs.cs
- TextRange.cs
- PenLineJoinValidation.cs
- ExceptionUtil.cs
- Menu.cs
- GeneralTransform3DCollection.cs
- CloseCryptoHandleRequest.cs
- xsdvalidator.cs
- ListItemCollection.cs
- TextBoxAutoCompleteSourceConverter.cs
- WorkItem.cs
- SymbolMethod.cs
- DrawingImage.cs
- Visual3D.cs
- FilterableAttribute.cs
- HttpChannelHelpers.cs
- FormCollection.cs
- BinaryUtilClasses.cs
- CssTextWriter.cs
- SessionIDManager.cs
- RectangleConverter.cs
- WizardSideBarListControlItemEventArgs.cs
- DecimalConverter.cs
- SubMenuStyleCollection.cs
- DefaultParameterValueAttribute.cs
- DataObjectAttribute.cs
- LineSegment.cs
- AssemblyAttributesGoHere.cs
- DiagnosticTrace.cs
- MSHTMLHost.cs
- HashCryptoHandle.cs
- SafeHandles.cs
- MonthCalendar.cs
- SHA256.cs
- StyleSelector.cs
- PeerObject.cs
- EncodingInfo.cs
- WorkflowViewService.cs
- CryptoKeySecurity.cs
- CompatibleIComparer.cs
- DataBoundControlActionList.cs
- EntityProviderFactory.cs
- SystemIPv4InterfaceProperties.cs
- SizeF.cs
- DecoderFallbackWithFailureFlag.cs
- webproxy.cs
- DisplayMemberTemplateSelector.cs
- __Error.cs
- XmlILStorageConverter.cs
- CompoundFileStreamReference.cs
- ReadWriteSpinLock.cs
- XmlUrlEditor.cs
- SafeRightsManagementHandle.cs
- MobileTemplatedControlDesigner.cs
- CapacityStreamGeometryContext.cs
- Label.cs
- ZoneLinkButton.cs
- _ChunkParse.cs
- FamilyMapCollection.cs
- PackageStore.cs
- WsdlInspector.cs
- SafeEventLogWriteHandle.cs
- DbFunctionCommandTree.cs
- SQLBytesStorage.cs
- DataGridViewRowCollection.cs
- GridViewColumnHeaderAutomationPeer.cs
- _PooledStream.cs
- LinqDataSourceContextEventArgs.cs
- PackageStore.cs
- ObfuscationAttribute.cs
- XPathSelfQuery.cs
- ArraySortHelper.cs
- ProjectionPathBuilder.cs
- MenuItemCollection.cs
- ServiceModelInstallComponent.cs
- ImageCodecInfo.cs
- UnionExpr.cs
- Mapping.cs
- Matrix3DValueSerializer.cs
- VisualStyleRenderer.cs
- InstanceLockQueryResult.cs
- EntityClassGenerator.cs
- CrossSiteScriptingValidation.cs
- PropertyItem.cs
- IntSecurity.cs
- ExtensionWindowHeader.cs
- HasCopySemanticsAttribute.cs
- ToolStripPanelCell.cs
- BamlVersionHeader.cs
- DataServiceExpressionVisitor.cs
- TextEditorLists.cs
- XsdBuilder.cs