private static IMemberGetterHandler <WriterState> CreateHandlerForObject(Type type, MemberInfo prop) { var getter = new MemberGetter <object>(type, prop.Name); if (!getter.IsValid) { return(null); } var memberType = getter.MemberInfo.GetMemberType(); if (memberType == typeof(object) || Nullable.GetUnderlyingType(memberType) != null) { return((IMemberGetterHandler <WriterState>)Activator.CreateInstance(typeof(MemberGetterHandlers.ObjectHandler), getter)); } return((IMemberGetterHandler <WriterState>)Activator.CreateInstance(typeof(MemberGetterHandlers.TypedObjectHandler <>).MakeGenericType(memberType), getter)); }
public GuidHandler(MemberGetter <Guid> getter) : base(getter) { }
public DateTimeHandler(MemberGetter <DateTime> getter) : base(getter) { }
public CharHandler(MemberGetter <char> getter) : base(getter) { }
public TypedObjectHandler(MemberGetter <object> getter) : base(getter) { }
public ByteHandler(MemberGetter <byte> getter) : base(getter) { }
public StringHandler(MemberGetter <string> getter) : base(getter) { }
private static IMemberGetterHandler <WriterState> CreateHandlerForDecimal(Type type, MemberInfo prop) { var getter = new MemberGetter <decimal>(type, prop.Name); return(!getter.IsValid ? null : new MemberGetterHandlers.DecimalHandler(getter)); }
public UIntHandler(MemberGetter <uint> getter) : base(getter) { }
public UShortHandler(MemberGetter <ushort> getter) : base(getter) { }
public FloatHandler(MemberGetter <float> getter) : base(getter) { }
public BoolHandler(MemberGetter <bool> getter) : base(getter) { }
private static IMemberGetterHandler <WriterState> CreateHandlerForString(Type type, MemberInfo prop) { var getter = new MemberGetter <string>(type, prop.Name); return(!getter.IsValid ? null : new MemberGetterHandlers.StringHandler(getter)); }
private static IMemberGetterHandler <WriterState> CreateHandlerForUShort(Type type, MemberInfo prop) { var getter = new MemberGetter <ushort>(type, prop.Name); return(!getter.IsValid ? null : new MemberGetterHandlers.UShortHandler(getter)); }
public DecimalHandler(MemberGetter <decimal> getter) : base(getter) { }
public ULongHandler(MemberGetter <ulong> getter) : base(getter) { }
public DoubleHandler(MemberGetter <double> getter) : base(getter) { }
protected MemberGetterHandlerBase(MemberGetter <TResult> getter) { this.getter = getter; }