Пример #1
0
        public TyonAddress RequestAddress(TyonDehydrater dehydrater)
        {
            if (GetTyonAddress() == null)
            {
                SetTyonAddress(dehydrater.GetNewInternalAddress());
            }

            return(GetTyonAddress());
        }
Пример #2
0
        public TyonObject(object obj, TyonDehydrater dehydrater) : this()
        {
            dehydrater.RegisterInternalObject(obj, this);

            SetTyonType(TyonType.CreateTyonType(obj.GetType()));
            SetTyonVariables(
                dehydrater.GetDesignatedVariables(obj.GetType())
                .Convert(v => new TyonVariable(v.CreateStrongInstance(obj), dehydrater))
                );
        }
Пример #3
0
        public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
        {
            if (value.IsToStringOverridden())
            {
                if (field_type.CanHaveChildTypes())
                {
                    return(new TyonValue_Surrogate(value, dehydrater));
                }

                return(new TyonValue_String(value, dehydrater));
            }

            return(new TyonValue_Object(value, dehydrater));
        }
Пример #4
0
 public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
 {
     return(new TyonValue_Array(field_type.GetIEnumerableType(), value, dehydrater));
 }
Пример #5
0
 public TyonValue_Boolean(object value, TyonDehydrater dehydrater) : this()
 {
     SetBool(value.ConvertEX <bool>());
 }
Пример #6
0
 public TyonValueList(Type element_type, IEnumerable <object> values, TyonDehydrater dehydrater) : this()
 {
     SetTyonValues(values.Convert(v => dehydrater.CreateTyonValue(element_type, v)));
 }
Пример #7
0
 public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
 {
     return(new TyonValue_ExternalAddress(dehydrater.RegisterExternalObject(value), dehydrater));
 }
Пример #8
0
 public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
 {
     return(new TyonValue_Type(value.ConvertEX <Type>(), dehydrater));
 }
Пример #9
0
 public TyonValue_Decimal(object value, TyonDehydrater dehydrater) : this()
 {
     SetDecimal(value.ConvertEX <decimal>());
 }
Пример #10
0
 public TyonValue_Type(Type type, TyonDehydrater dehydrater)
 {
     SetTyonType(TyonType.CreateTyonType(type));
 }
Пример #11
0
 public TyonValue_Surrogate(object value, TyonDehydrater dehydrater) : this()
 {
     SetTyonSurrogate(new TyonSurrogate(value, dehydrater));
 }
Пример #12
0
 public TyonValue_Float(object value, TyonDehydrater dehydrater) : this()
 {
     SetFloat(value.ConvertEX <float>());
 }
Пример #13
0
 public TyonValue_ExternalAddress(TyonAddress a, TyonDehydrater dehydrater) : this()
 {
     SetTyonAddress(a);
 }
Пример #14
0
 public TyonValue_String(object value, TyonDehydrater dehydrater) : this()
 {
     SetString(value.ToStringEX());
 }
Пример #15
0
 public TyonArray(Type element_type, object value, TyonDehydrater dehydrater) : this()
 {
     SetTyonType(TyonType.CreateTyonType(element_type));
     SetTyonValueList(new TyonValueList(element_type, value.ToEnumerable <object>(), dehydrater));
 }
Пример #16
0
 public TyonVariable(VariableInstance variable, TyonDehydrater dehydrater) : this()
 {
     SetId(variable.GetVariable().GetVariableName());
     SetTyonValue(dehydrater.CreateTyonValue(variable.GetVariableType(), variable.GetContents()));
 }
Пример #17
0
 public abstract TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater);
Пример #18
0
 public TyonSurrogate(object value, TyonDehydrater dehydrater) : this()
 {
     SetTyonType(TyonType.CreateTyonType(value.GetTypeEX()));
     SetTyonValue(new TyonValue_String(value, dehydrater));
 }
Пример #19
0
 public TyonValue_Long(object value, TyonDehydrater dehydrater) : this()
 {
     SetLong(value.ConvertEX <long>());
 }
Пример #20
0
 public TyonValue_Array(Type element_type, object value, TyonDehydrater dehydrater) : this()
 {
     SetTyonArray(new TyonArray(element_type, value, dehydrater));
 }
Пример #21
0
        public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
        {
            value = deconstruction_invokers.Fetch(value.GetType())(value);

            return(dehydrater.CreateTyonValue(value.GetTypeEX(), value));
        }
Пример #22
0
        public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
        {
            value = Substitute(value);

            return(dehydrater.CreateTyonValue(value.GetTypeEX(), value));
        }
Пример #23
0
 public TyonValue_InternalAddress(TyonAddress address, TyonDehydrater dehydrater) : this()
 {
     SetTyonAddress(address);
 }
Пример #24
0
 public override TyonValue Dehydrate(Type field_type, object value, TyonDehydrater dehydrater)
 {
     return(new TyonValue_Decimal(value, dehydrater));
 }
Пример #25
0
 public TyonValue_Double(object value, TyonDehydrater dehydrater) : this()
 {
     SetDouble(value.ConvertEX <double>());
 }
Пример #26
0
 public TyonValue_Int(object value, TyonDehydrater dehydrater) : this()
 {
     SetInt(value.ConvertEX <int>());
 }
Пример #27
0
 public TyonValue_Object(object value, TyonDehydrater dehydrater) : this()
 {
     SetTyonObject(new TyonObject(value, dehydrater));
 }