| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //------------------------------------------------------------------------------
- // <copyright file="Range.cs" company="Microsoft">
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- // <owner current="true" primary="true">[....]</owner>
- // <owner current="true" primary="false">[....]</owner>
- // <owner current="false" primary="false">[....]</owner>
- //------------------------------------------------------------------------------
- namespace System.Data {
- using System;
- internal struct Range {
- private int min;
- private int max;
- private bool isNotNull; // zero bit pattern represents null
- public Range(int min, int max) {
- if (min > max) {
- throw ExceptionBuilder.RangeArgument(min, max);
- }
- this.min = min;
- this.max = max;
- isNotNull = true;
- }
- public int Count {
- get {
- if (IsNull)
- return 0;
- return max - min + 1;
- }
- }
- public bool IsNull {
- get {
- return !isNotNull;
- }
- }
- public int Max {
- get {
- CheckNull();
- return max;
- }
- }
- public int Min {
- get {
- CheckNull();
- return min;
- }
- }
- internal void CheckNull() {
- if (this.IsNull) {
- throw ExceptionBuilder.NullRange();
- }
- }
- }
- }
|