2 // System.Data.SqlTypes.SqlByte
5 // Tim Coleman <tim@timcoleman.com>
7 // (C) Copyright 2002 Tim Coleman
11 using System.Globalization;
13 namespace System.Data.SqlTypes
15 public struct SqlByte : INullable, IComparable
22 public static readonly SqlByte MaxValue = new SqlByte (0xff);
23 public static readonly SqlByte MinValue = new SqlByte (0);
24 public static readonly SqlByte Null;
25 public static readonly SqlByte Zero = new SqlByte (0);
31 public SqlByte (byte value)
42 get { return !notNull; }
48 throw new SqlNullValueException ();
58 public static SqlByte Add (SqlByte x, SqlByte y)
63 public static SqlByte BitwiseAnd (SqlByte x, SqlByte y)
68 public static SqlByte BitwiseOr (SqlByte x, SqlByte y)
73 public int CompareTo (object value)
77 else if (!(value is SqlByte))
78 throw new ArgumentException (Locale.GetText ("Value is not a System.Data.SqlTypes.SqlByte"));
79 else if (((SqlByte)value).IsNull)
82 return this.value.CompareTo (((SqlByte)value).Value);
85 public static SqlByte Divide (SqlByte x, SqlByte y)
90 public override bool Equals (object value)
92 if (!(value is SqlByte))
94 else if (this.IsNull && ((SqlByte)value).IsNull)
96 else if (((SqlByte)value).IsNull)
99 return (bool) (this == (SqlByte)value);
102 public static SqlBoolean Equals (SqlByte x, SqlByte y)
107 public override int GetHashCode ()
112 public static SqlBoolean GreaterThan (SqlByte x, SqlByte y)
117 public static SqlBoolean GreaterThanOrEqual (SqlByte x, SqlByte y)
122 public static SqlBoolean LessThan (SqlByte x, SqlByte y)
127 public static SqlBoolean LessThanOrEqual (SqlByte x, SqlByte y)
132 public static SqlByte Mod (SqlByte x, SqlByte y)
137 public static SqlByte Multiply (SqlByte x, SqlByte y)
142 public static SqlBoolean NotEquals (SqlByte x, SqlByte y)
147 public static SqlByte OnesComplement (SqlByte x)
152 public static SqlByte Parse (string s)
155 return new SqlByte (Byte.Parse (s));
159 public static SqlByte Subtract (SqlByte x, SqlByte y)
164 public SqlBoolean ToSqlBoolean ()
166 return ((SqlBoolean)this);
169 public SqlDecimal ToSqlDecimal ()
171 return ((SqlDecimal)this);
174 public SqlDouble ToSqlDouble ()
176 return ((SqlDouble)this);
179 public SqlInt16 ToSqlInt16 ()
181 return ((SqlInt16)this);
184 public SqlInt32 ToSqlInt32 ()
186 return ((SqlInt32)this);
189 public SqlInt64 ToSqlInt64 ()
191 return ((SqlInt64)this);
194 public SqlMoney ToSqlMoney ()
196 return ((SqlMoney)this);
199 public SqlSingle ToSqlSingle ()
201 return ((SqlSingle)this);
204 public SqlString ToSqlString ()
206 return ((SqlString)this);
209 public override string ToString ()
214 return value.ToString ();
217 public static SqlByte Xor (SqlByte x, SqlByte y)
222 public static SqlByte operator + (SqlByte x, SqlByte y)
225 return new SqlByte ((byte) (x.Value + y.Value));
229 public static SqlByte operator & (SqlByte x, SqlByte y)
231 return new SqlByte ((byte) (x.Value & y.Value));
234 public static SqlByte operator | (SqlByte x, SqlByte y)
236 return new SqlByte ((byte) (x.Value | y.Value));
239 public static SqlByte operator / (SqlByte x, SqlByte y)
242 return new SqlByte ((byte) (x.Value / y.Value));
246 public static SqlBoolean operator == (SqlByte x, SqlByte y)
248 if (x.IsNull || y.IsNull)
249 return SqlBoolean.Null;
251 return new SqlBoolean (x.Value == y.Value);
254 public static SqlByte operator ^ (SqlByte x, SqlByte y)
256 return new SqlByte ((byte) (x.Value ^ y.Value));
259 public static SqlBoolean operator > (SqlByte x, SqlByte y)
261 if (x.IsNull || y.IsNull)
262 return SqlBoolean.Null;
264 return new SqlBoolean (x.Value > y.Value);
267 public static SqlBoolean operator >= (SqlByte x, SqlByte y)
269 if (x.IsNull || y.IsNull)
270 return SqlBoolean.Null;
272 return new SqlBoolean (x.Value >= y.Value);
275 public static SqlBoolean operator != (SqlByte x, SqlByte y)
277 if (x.IsNull || y.IsNull)
278 return SqlBoolean.Null;
280 return new SqlBoolean (!(x.Value == y.Value));
283 public static SqlBoolean operator < (SqlByte x, SqlByte y)
285 if (x.IsNull || y.IsNull)
286 return SqlBoolean.Null;
288 return new SqlBoolean (x.Value < y.Value);
291 public static SqlBoolean operator <= (SqlByte x, SqlByte y)
293 if (x.IsNull || y.IsNull)
294 return SqlBoolean.Null;
296 return new SqlBoolean (x.Value <= y.Value);
299 public static SqlByte operator % (SqlByte x, SqlByte y)
301 return new SqlByte ((byte) (x.Value % y.Value));
304 public static SqlByte operator * (SqlByte x, SqlByte y)
307 return new SqlByte ((byte) (x.Value * y.Value));
311 public static SqlByte operator ~ (SqlByte x)
313 return new SqlByte ((byte) ~x.Value);
316 public static SqlByte operator - (SqlByte x, SqlByte y)
319 return new SqlByte ((byte) (x.Value - y.Value));
323 public static explicit operator SqlByte (SqlBoolean x)
328 return new SqlByte (x.ByteValue);
331 public static explicit operator byte (SqlByte x)
336 public static explicit operator SqlByte (SqlDecimal x)
342 return new SqlByte ((byte)x.Value);
346 public static explicit operator SqlByte (SqlDouble x)
353 return new SqlByte ((byte)x.Value);
357 public static explicit operator SqlByte (SqlInt16 x)
363 return new SqlByte ((byte)x.Value);
367 public static explicit operator SqlByte (SqlInt32 x)
373 return new SqlByte ((byte)x.Value);
377 public static explicit operator SqlByte (SqlInt64 x)
384 return new SqlByte ((byte)x.Value);
388 public static explicit operator SqlByte (SqlMoney x)
394 return new SqlByte ((byte)x.Value);
398 public static explicit operator SqlByte (SqlSingle x)
405 return new SqlByte ((byte)x.Value);
410 public static explicit operator SqlByte (SqlString x)
413 return SqlByte.Parse (x.Value);
417 public static implicit operator SqlByte (byte x)
419 return new SqlByte (x);