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));
        }
Example #2
0
 public GuidHandler(MemberGetter <Guid> getter) : base(getter)
 {
 }
Example #3
0
 public DateTimeHandler(MemberGetter <DateTime> getter) : base(getter)
 {
 }
Example #4
0
 public CharHandler(MemberGetter <char> getter) : base(getter)
 {
 }
Example #5
0
 public TypedObjectHandler(MemberGetter <object> getter) : base(getter)
 {
 }
Example #6
0
 public ByteHandler(MemberGetter <byte> getter) : base(getter)
 {
 }
Example #7
0
 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));
        }
Example #9
0
 public UIntHandler(MemberGetter <uint> getter) : base(getter)
 {
 }
Example #10
0
 public UShortHandler(MemberGetter <ushort> getter) : base(getter)
 {
 }
Example #11
0
 public FloatHandler(MemberGetter <float> getter) : base(getter)
 {
 }
Example #12
0
 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));
        }
Example #15
0
 public DecimalHandler(MemberGetter <decimal> getter) : base(getter)
 {
 }
Example #16
0
 public ULongHandler(MemberGetter <ulong> getter) : base(getter)
 {
 }
Example #17
0
 public DoubleHandler(MemberGetter <double> getter) : base(getter)
 {
 }
Example #18
0
 protected MemberGetterHandlerBase(MemberGetter <TResult> getter)
 {
     this.getter = getter;
 }