internal DataExpression(DataTable table, string expression, Type type) { ExpressionParser parser = new ExpressionParser(table); parser.LoadExpression(expression); _originalExpression = expression; _expr = null; if (expression != null) { _storageType = DataStorage.GetStorageType(type); if (_storageType == StorageType.BigInteger) { throw ExprException.UnsupportedDataType(type); } _dataType = type; _expr = parser.Parse(); _parsed = true; if (_expr != null && table != null) { Bind(table); } else { _bound = false; } } }
internal DataExpression(DataTable table, string expression, Type type) { this.dependency = DataTable.zeroColumns; ExpressionParser parser = new ExpressionParser(table); parser.LoadExpression(expression); this.originalExpression = expression; this.expr = null; if (expression != null) { this._storageType = DataStorage.GetStorageType(type); if (this._storageType == StorageType.BigInteger) { throw ExprException.UnsupportedDataType(type); } this._dataType = type; this.expr = parser.Parse(); this.parsed = true; if ((this.expr != null) && (table != null)) { this.Bind(table); } else { this.bound = false; } } }