Beispiel #1
0
        private void ClimReference(TField value, Type type)
        {
            if (type == typeof(TRuntime))
            {
                ClimbDelegate <TRuntime> climbDelegate = Member.Climb;
                climbDelegate(_processor, (TRuntime)value);
            }
            else
            {
                ClimbDelegate <TField> climbDelegate =
                    ClimbStore.GetClimb <TField>(type);

                climbDelegate(_processor, value);
            }
        }
Beispiel #2
0
        private void ClimbStruct(TField value, Type type)
        {
            object boxed = value;

            ClimbDelegate <object> climbDelegate;

            if (type == typeof(TRuntime))
            {
                climbDelegate = Member.StructClimb;
            }
            else
            {
                climbDelegate =
                    ClimbStore.GetClimb <object>(type);
            }

            climbDelegate(_processor, boxed);

            SetField((TField)boxed);
        }
 public void Climb(object parent, TProcessor processor)
 {
     _climbStore.GetClimb <object>(parent.GetType())(processor, parent);
 }