Reimplemented from System.Data.Common.DataStorage.
Definition at line 18 of file TimeSpanStorage.cs.
19 {
20 bool flag = false;
21 try
22 {
23 switch (kind)
24 {
26 {
29 {
31 {
33 flag = true;
34 }
35 }
36 if (flag)
37 {
39 }
41 }
43 {
46 {
48 {
50 flag = true;
51 }
52 }
53 if (flag)
54 {
56 }
58 }
61 {
63 }
64 return null;
68 {
69 decimal
d =
default(decimal);
71 {
73 {
75 flag = true;
76 }
77 }
78 if (flag)
79 {
80 return TimeSpan.FromTicks((
long)Math.Round(
d));
81 }
82 return null;
83 }
85 {
86 decimal
num10 =
default(decimal);
89 {
91 {
94 }
95 }
97 {
99 }
100 return null;
101 }
103 {
104 int num = 0;
105 decimal
num2 =
default(decimal);
107 {
109 {
111 num++;
112 }
113 }
114 if (num > 1)
115 {
119 {
121 {
124 }
125 }
126 ulong
num8 = (ulong)Math.Round(Math.Sqrt(
num4 / (
double)(num - 1)));
127 if (
num8 >
long.MaxValue)
128 {
129 num8 = 9223372036854775807
uL;
130 }
132 }
133 return null;
134 }
136 break;
137 }
138 }
139 catch (OverflowException)
140 {
142 }
143 throw ExceptionBuilder.AggregateException(kind,
_dataType);
144 }
readonly object _nullValue
static TimeSpan FromTicks(long value)
References System.Data.Common.DataStorage._dataType, System.Data.Common.DataStorage._nullValue, System.Data.Common.TimeSpanStorage._values, System.Data.ExceptionBuilder.AggregateException(), System.TimeSpan.Compare(), System.Xml.Dictionary, System.TimeSpan.FromTicks(), System.Data.IsNull, System.TimeSpan.MaxValue, System.TimeSpan.MinValue, System.Data.ExprException.Overflow(), System.Math.Round(), System.Math.Sqrt(), and System.TimeSpan.Ticks.