annotate Source/Reflection/ExprMemberAccessor.cs @ 6:11b6da379593

Исправлена странная ошибка при использовании OfType<...>().Where(...)
author cin
date Mon, 05 Dec 2016 05:50:52 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Data.SqlTypes;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Linq.Expressions;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using System.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using System.Reflection.Emit;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace BLToolkit.Reflection
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using Common;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 using Emit;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public abstract class ExprMemberAccessor : MemberAccessor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 protected ExprMemberAccessor(TypeAccessor typeAccessor, MemberInfo memberInfo)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 : base(typeAccessor, memberInfo)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 #region Public Properties
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 protected bool HasSetterValue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public override bool HasGetter { get { return true; } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 public override bool HasSetter { get { return HasSetterValue; } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 static public MemberAccessor GetMemberAccessor(TypeAccessor typeAccessor, string memberName)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 var par = Expression.Parameter(typeof(object), "obj");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 var expr = Expression.PropertyOrField(Expression.Convert(par, typeAccessor.Type), memberName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 var type = expr.Type;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 var underlyingType = type;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 var isNullable = false;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 if (underlyingType.IsGenericType && underlyingType.GetGenericTypeDefinition() == typeof(Nullable<>))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 underlyingType = underlyingType.GetGenericArguments()[0];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 isNullable = true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 if (underlyingType.IsEnum)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 underlyingType = Enum.GetUnderlyingType(underlyingType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 if (isNullable)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 switch (Type.GetTypeCode(underlyingType))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 case TypeCode.Boolean : return new NullableBooleanAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 case TypeCode.Char : return new NullableCharAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 case TypeCode.SByte : return new NullableSByteAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 case TypeCode.Byte : return new NullableByteAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 case TypeCode.Int16 : return new NullableInt16Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 case TypeCode.UInt16 : return new NullableUInt16Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 case TypeCode.Int32 : return new NullableInt32Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 case TypeCode.UInt32 : return new NullableUInt32Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 case TypeCode.Int64 : return new NullableInt64Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 case TypeCode.UInt64 : return new NullableUInt64Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 case TypeCode.Single : return new NullableSingleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 case TypeCode.Double : return new NullableDoubleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 case TypeCode.Decimal : return new NullableDecimalAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 case TypeCode.DateTime : return new NullableDateTimeAccessor(typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 case TypeCode.Object :
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 if (type == typeof(Guid)) return new NullableGuidAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 if (type == typeof(DateTimeOffset)) return new NullableDateTimeOffsetAccessor(typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 if (type == typeof(TimeSpan)) return new NullableTimeSpanAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 default : break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 else
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 switch (Type.GetTypeCode(underlyingType))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 case TypeCode.Boolean : return new BooleanAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 case TypeCode.Char : return new CharAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 case TypeCode.SByte : return new SByteAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 case TypeCode.Byte : return new ByteAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 case TypeCode.Int16 : return new Int16Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 case TypeCode.UInt16 : return new UInt16Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 case TypeCode.Int32 : return new Int32Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 case TypeCode.UInt32 : return new UInt32Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 case TypeCode.Int64 : return new Int64Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 case TypeCode.UInt64 : return new UInt64Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 case TypeCode.Single : return new SingleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 case TypeCode.Double : return new DoubleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 case TypeCode.Decimal : return new DecimalAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 case TypeCode.DateTime : return new DateTimeAccessor(typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 case TypeCode.Object :
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 if (type == typeof(Guid)) return new GuidAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 if (type == typeof(DateTimeOffset)) return new DateTimeOffsetAccessor(typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 if (type == typeof(TimeSpan)) return new TimeSpanAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 default : break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 #if !SILVERLIGHT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 if (type == typeof(SqlByte)) return new SqlByteAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 if (type == typeof(SqlInt16)) return new SqlInt16Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 if (type == typeof(SqlInt32)) return new SqlInt32Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 if (type == typeof(SqlInt64)) return new SqlInt64Accessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 if (type == typeof(SqlSingle)) return new SqlSingleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 if (type == typeof(SqlBoolean)) return new SqlBooleanAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 if (type == typeof(SqlDouble)) return new SqlDoubleAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 if (type == typeof(SqlDateTime)) return new SqlDateTimeAccessor(typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 if (type == typeof(SqlDecimal)) return new SqlDecimalAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 if (type == typeof(SqlMoney)) return new SqlMoneyAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 if (type == typeof(SqlString)) return new SqlStringAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 if (type == typeof(SqlGuid)) return new SqlGuidAccessor (typeAccessor, par, expr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 return (MemberAccessor)Activator.CreateInstance(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 typeof(BaseAccessor<>).MakeGenericType(type),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 new object[] { typeAccessor, par, expr });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 class BaseAccessor<T> : ExprMemberAccessor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 protected readonly Func <object,T> Getter;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 protected readonly Action<object,T> Setter;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 static int _counter;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 public BaseAccessor(TypeAccessor typeAccessor, ParameterExpression par, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 : base(typeAccessor, expr.Member)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 Expression ex = expr;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 if (TypeHelper.IsEnumOrNullableEnum(ex.Type) && ex.Type != typeof(T))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 ex = Expression.Convert(ex, typeof(T));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 Getter = Expression.Lambda<Func<object,T>>(ex, par).Compile();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 var mi = expr.Member;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 HasSetterValue = !(mi is PropertyInfo) || ((PropertyInfo)mi).GetSetMethod(true) != null;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 if (HasSetterValue)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 var dm = new DynamicMethod(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 "setter_" + mi.Name + "_" + ++_counter,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 typeof(void),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 new[] { typeof(object), typeof(T) },
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 typeAccessor.Type);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 var emit = new EmitHelper(dm.GetILGenerator());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 emit
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 .ldarg_0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 .castType (typeAccessor.Type)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 .ldarg_1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 .end();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 if (mi is FieldInfo) emit.stfld ((FieldInfo)mi);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 else emit.callvirt(((PropertyInfo)mi).GetSetMethod(true));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 emit.ret();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 Setter = (Action<object,T>)dm.CreateDelegate(typeof(Action<object,T>));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 else
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 Setter = (_,__) => {};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 public override object GetValue(object obj)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 return Getter(obj);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 public override void SetValue(object obj, object value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 Setter(obj, ConvertTo<T>.From(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 class NullableAccessor<T> : BaseAccessor<T?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 where T : struct
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 public NullableAccessor(TypeAccessor typeAccessor, ParameterExpression par, MemberExpression member)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 : base(typeAccessor, par, member)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 public override bool IsNull(object obj)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 return Getter(obj) == null;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 #region Basic Types
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 class BooleanAccessor : BaseAccessor<Boolean>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 public BooleanAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 public override Boolean GetBoolean(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 public override void SetBoolean(object obj, Boolean value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 class CharAccessor : BaseAccessor<Char>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 public CharAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 public override Char GetChar(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 public override void SetChar(object obj, Char value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 class SByteAccessor : BaseAccessor<SByte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 public SByteAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 public override SByte GetSByte(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 public override void SetSByte(object obj, SByte value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 class ByteAccessor : BaseAccessor<Byte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 public ByteAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 public override Byte GetByte(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 public override void SetByte(object obj, Byte value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 class Int16Accessor : BaseAccessor<Int16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 public Int16Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 public override Int16 GetInt16(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 public override void SetInt16(object obj, Int16 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 class UInt16Accessor : BaseAccessor<UInt16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254 public UInt16Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 public override UInt16 GetUInt16(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 public override void SetUInt16(object obj, UInt16 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 class Int32Accessor : BaseAccessor<Int32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 public Int32Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 public override Int32 GetInt32(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 public override void SetInt32(object obj, Int32 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274 class UInt32Accessor : BaseAccessor<UInt32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 public UInt32Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 public override UInt32 GetUInt32(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 public override void SetUInt32(object obj, UInt32 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 class Int64Accessor : BaseAccessor<Int64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 public Int64Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 public override Int64 GetInt64(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293 public override void SetInt64(object obj, Int64 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 class UInt64Accessor : BaseAccessor<UInt64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 public UInt64Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 public override UInt64 GetUInt64(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 public override void SetUInt64(object obj, UInt64 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 class SingleAccessor : BaseAccessor<Single>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309 public SingleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 public override Single GetSingle(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 public override void SetSingle(object obj, Single value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 class DoubleAccessor : BaseAccessor<Double>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320 public DoubleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 public override Double GetDouble(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 public override void SetDouble(object obj, Double value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 class DecimalAccessor : BaseAccessor<Decimal>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 public DecimalAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 public override Decimal GetDecimal(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 public override void SetDecimal(object obj, Decimal value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 class DateTimeAccessor : BaseAccessor<DateTime>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 public DateTimeAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347 public override DateTime GetDateTime(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 public override void SetDateTime(object obj, DateTime value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 class GuidAccessor : BaseAccessor<Guid>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 public GuidAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 public override Guid GetGuid(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359 public override void SetGuid(object obj, Guid value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362 class DateTimeOffsetAccessor : BaseAccessor<DateTimeOffset>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 public DateTimeOffsetAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 public override DateTimeOffset GetDateTimeOffset(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370 public override void SetDateTimeOffset(object obj, DateTimeOffset value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 class TimeSpanAccessor : BaseAccessor<TimeSpan>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 public TimeSpanAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 public override TimeSpan GetTimeSpan(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381 public override void SetTimeSpan(object obj, TimeSpan value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386 #region Nullable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 class NullableBooleanAccessor : NullableAccessor<Boolean>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390 public NullableBooleanAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395 public override Boolean? GetNullableBoolean(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 public override void SetNullableBoolean(object obj, Boolean? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399 class NullableCharAccessor : NullableAccessor<Char>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401 public NullableCharAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 public override Char? GetNullableChar(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407 public override void SetNullableChar(object obj, Char? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 class NullableSByteAccessor : NullableAccessor<SByte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412 public NullableSByteAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 public override SByte? GetNullableSByte(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418 public override void SetNullableSByte(object obj, SByte? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421 class NullableByteAccessor : NullableAccessor<Byte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 public NullableByteAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428 public override Byte? GetNullableByte(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 public override void SetNullableByte(object obj, Byte? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432 class NullableInt16Accessor : NullableAccessor<Int16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 public NullableInt16Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 public override Int16? GetNullableInt16(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440 public override void SetNullableInt16(object obj, Int16? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443 class NullableUInt16Accessor : NullableAccessor<UInt16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445 public NullableUInt16Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450 public override UInt16? GetNullableUInt16(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451 public override void SetNullableUInt16(object obj, UInt16? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 class NullableInt32Accessor : NullableAccessor<Int32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456 public NullableInt32Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461 public override Int32? GetNullableInt32(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 public override void SetNullableInt32(object obj, Int32? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 class NullableUInt32Accessor : NullableAccessor<UInt32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467 public NullableUInt32Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472 public override UInt32? GetNullableUInt32(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 public override void SetNullableUInt32(object obj, UInt32? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 class NullableInt64Accessor : NullableAccessor<Int64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478 public NullableInt64Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 public override Int64? GetNullableInt64(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 public override void SetNullableInt64(object obj, Int64? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487 class NullableUInt64Accessor : NullableAccessor<UInt64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489 public NullableUInt64Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494 public override UInt64? GetNullableUInt64(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 public override void SetNullableUInt64(object obj, UInt64? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498 class NullableSingleAccessor : NullableAccessor<Single>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 public NullableSingleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505 public override Single? GetNullableSingle(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 public override void SetNullableSingle(object obj, Single? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509 class NullableDoubleAccessor : NullableAccessor<Double>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511 public NullableDoubleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516 public override Double? GetNullableDouble(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517 public override void SetNullableDouble(object obj, Double? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 class NullableDecimalAccessor : NullableAccessor<Decimal>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 public NullableDecimalAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527 public override Decimal? GetNullableDecimal(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 public override void SetNullableDecimal(object obj, Decimal? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531 class NullableDateTimeAccessor : NullableAccessor<DateTime>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 public NullableDateTimeAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538 public override DateTime? GetNullableDateTime(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 public override void SetNullableDateTime(object obj, DateTime? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 class NullableGuidAccessor : NullableAccessor<Guid>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544 public NullableGuidAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549 public override Guid? GetNullableGuid(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 public override void SetNullableGuid(object obj, Guid? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553 class NullableDateTimeOffsetAccessor : NullableAccessor<DateTimeOffset>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555 public NullableDateTimeOffsetAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 public override DateTimeOffset? GetNullableDateTimeOffset(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561 public override void SetNullableDateTimeOffset(object obj, DateTimeOffset? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 class NullableTimeSpanAccessor : NullableAccessor<TimeSpan>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566 public NullableTimeSpanAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571 public override TimeSpan? GetNullableTimeSpan(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572 public override void SetNullableTimeSpan(object obj, TimeSpan? value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 #region Sql Types
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 #if !SILVERLIGHT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 class SqlByteAccessor : BaseAccessor<SqlByte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583 public SqlByteAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588 public override SqlByte GetSqlByte(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589 public override void SetSqlByte(object obj, SqlByte value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592 class SqlInt16Accessor : BaseAccessor<SqlInt16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594 public SqlInt16Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
599 public override SqlInt16 GetSqlInt16(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
600 public override void SetSqlInt16(object obj, SqlInt16 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
601 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
602
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
603 class SqlInt32Accessor : BaseAccessor<SqlInt32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
604 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
605 public SqlInt32Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
606 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
607 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
608 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
609
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
610 public override SqlInt32 GetSqlInt32(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
611 public override void SetSqlInt32(object obj, SqlInt32 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
612 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
613
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
614 class SqlInt64Accessor : BaseAccessor<SqlInt64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
615 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
616 public SqlInt64Accessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
617 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
618 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
619 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
620
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
621 public override SqlInt64 GetSqlInt64(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
622 public override void SetSqlInt64(object obj, SqlInt64 value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
623 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
624
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
625 class SqlSingleAccessor : BaseAccessor<SqlSingle>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
626 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
627 public SqlSingleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
628 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
629 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
630 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
631
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
632 public override SqlSingle GetSqlSingle(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
633 public override void SetSqlSingle(object obj, SqlSingle value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
634 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
635
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
636 class SqlBooleanAccessor : BaseAccessor<SqlBoolean>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
637 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
638 public SqlBooleanAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
639 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
640 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
641 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
642
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
643 public override SqlBoolean GetSqlBoolean(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
644 public override void SetSqlBoolean(object obj, SqlBoolean value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
645 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
646
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
647 class SqlDoubleAccessor : BaseAccessor<SqlDouble>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
648 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
649 public SqlDoubleAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
650 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
651 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
652 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
653
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
654 public override SqlDouble GetSqlDouble(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
655 public override void SetSqlDouble(object obj, SqlDouble value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
656 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
657
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
658 class SqlDateTimeAccessor : BaseAccessor<SqlDateTime>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
659 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
660 public SqlDateTimeAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
661 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
662 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
663 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
664
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
665 public override SqlDateTime GetSqlDateTime(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
666 public override void SetSqlDateTime(object obj, SqlDateTime value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
667 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
668
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
669 class SqlDecimalAccessor : BaseAccessor<SqlDecimal>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
670 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
671 public SqlDecimalAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
672 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
673 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
674 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
675
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
676 public override SqlDecimal GetSqlDecimal(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
677 public override void SetSqlDecimal(object obj, SqlDecimal value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
678 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
679
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
680 class SqlMoneyAccessor : BaseAccessor<SqlMoney>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
681 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
682 public SqlMoneyAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
683 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
684 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
685 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
686
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
687 public override SqlMoney GetSqlMoney(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
688 public override void SetSqlMoney(object obj, SqlMoney value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
689 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
690
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
691 class SqlStringAccessor : BaseAccessor<SqlString>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
692 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
693 public SqlStringAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
694 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
695 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
696 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
697
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
698 public override SqlString GetSqlString(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
699 public override void SetSqlString(object obj, SqlString value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
700 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
701
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
702 class SqlGuidAccessor : BaseAccessor<SqlGuid>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
703 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
704 public SqlGuidAccessor(TypeAccessor accessor, ParameterExpression expression, MemberExpression expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
705 : base(accessor, expression, expr)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
706 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
707 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
708
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
709 public override SqlGuid GetSqlGuid(object obj) { return Getter(obj); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
710 public override void SetSqlGuid(object obj, SqlGuid value) { Setter(obj, value); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
711 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
712
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
713 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
714
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
715 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
716 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
717 }