Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Filter / ExpressionNode.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataSourceControlBuilder.cs
- Pair.cs
- ElapsedEventArgs.cs
- HtmlElementErrorEventArgs.cs
- SQLUtility.cs
- AssemblyAttributes.cs
- WebHttpSecurityElement.cs
- FtpRequestCacheValidator.cs
- XmlTextEncoder.cs
- WebPartConnectionsConnectVerb.cs
- DesignTimeXamlWriter.cs
- XmlSerializerAssemblyAttribute.cs
- ToolboxSnapDragDropEventArgs.cs
- ListBox.cs
- ProofTokenCryptoHandle.cs
- ResourceProperty.cs
- AlternationConverter.cs
- KnownTypesHelper.cs
- RootAction.cs
- InfoCardAsymmetricCrypto.cs
- BinaryReader.cs
- ScrollProperties.cs
- CursorConverter.cs
- NativeMethods.cs
- SplitContainer.cs
- XamlPathDataSerializer.cs
- FontStretches.cs
- WsatAdminException.cs
- PageAdapter.cs
- ContextStaticAttribute.cs
- WebPartPersonalization.cs
- FontFamilyIdentifier.cs
- InkCanvasFeedbackAdorner.cs
- ProgressBarHighlightConverter.cs
- MetadataPropertyvalue.cs
- ClrPerspective.cs
- NavigationWindowAutomationPeer.cs
- ToolBarButtonClickEvent.cs
- PersonalizationAdministration.cs
- DecoderFallback.cs
- ThousandthOfEmRealPoints.cs
- ProcessInfo.cs
- HtmlTableCell.cs
- ApplicationProxyInternal.cs
- ListViewGroupItemCollection.cs
- Validator.cs
- LookupBindingPropertiesAttribute.cs
- ImplicitInputBrush.cs
- WebBrowsableAttribute.cs
- DesignerCalendarAdapter.cs
- ChineseLunisolarCalendar.cs
- XmlSchema.cs
- IProvider.cs
- TdsValueSetter.cs
- DateTimeFormat.cs
- ListViewDeleteEventArgs.cs
- WpfWebRequestHelper.cs
- RectangleConverter.cs
- TreeNodeEventArgs.cs
- safex509handles.cs
- UIElement3DAutomationPeer.cs
- UserControl.cs
- ToolStripLabel.cs
- Permission.cs
- SimpleBitVector32.cs
- ClientRolePrincipal.cs
- ConfigurationValue.cs
- ConditionValidator.cs
- SubtreeProcessor.cs
- FlatButtonAppearance.cs
- KeyValuePair.cs
- XmlQueryOutput.cs
- DataBoundControl.cs
- ReflectTypeDescriptionProvider.cs
- SafeFileMappingHandle.cs
- URL.cs
- CombinedGeometry.cs
- DefaultParameterValueAttribute.cs
- CheckBox.cs
- LogAppendAsyncResult.cs
- COM2IProvidePropertyBuilderHandler.cs
- _FixedSizeReader.cs
- XmlEntity.cs
- ISAPIRuntime.cs
- CacheDependency.cs
- PlatformNotSupportedException.cs
- WebPermission.cs
- StorageEntitySetMapping.cs
- GridViewSortEventArgs.cs
- ScriptHandlerFactory.cs
- DataDocumentXPathNavigator.cs
- LayoutEvent.cs
- DocumentXPathNavigator.cs
- HostSecurityManager.cs
- DataGridViewRow.cs
- TextSegment.cs
- BufferedOutputAsyncStream.cs
- RelationshipEndMember.cs
- ActiveXContainer.cs
- Point4D.cs