/// <summary> /// Performs post-deserialization actions. /// </summary> /// <param name="sender"></param> public virtual void OnDeserialization(object sender) { if (provider == null || provider.GetType() == typeof(AdvancedConverterProvider)) { provider = AdvancedConverterProvider.Default; } }
/// <summary> /// Deserializes the instance of this class. /// </summary> /// <param name="info">Serialization info.</param> /// <param name="context">Streaming context.</param> public AdvancedConverter(SerializationInfo info, StreamingContext context) : base(info, context) { Provider = Implementation.Provider; Convert = Implementation.Convert; IsRough = Implementation.IsRough; }
// Constructos /// <summary> /// Initializes a new instance of this type. /// </summary> /// <param name="implementation">Advanced converter to provide the delegates for.</param> public AdvancedConverter(IAdvancedConverter <TFrom, TTo> implementation) : base(implementation) { Provider = Implementation.Provider; Convert = Implementation.Convert; IsRough = Implementation.IsRough; }
// Constructors public EnumAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { // Checking types Type toType = typeof(TTo); Type fromType = typeof(TFrom); if (!toType.IsEnum && !fromType.IsEnum) { throw new InvalidOperationException(); } intermediateConverter2 = provider.GetConverter <TUnderlyingFrom, TUnderlyingTo>(); }
public void ConverterTest() { IAdvancedConverterProvider provider = AdvancedConverterProvider.Default; AdvancedConverter <int, string> intStringAdvancedConverter = provider.GetConverter <int, string>(); Assert.AreEqual("Int32AdvancedConverter", intStringAdvancedConverter.Implementation.GetType().Name); Assert.IsTrue(!(intStringAdvancedConverter.IsRough)); Assert.IsFalse(intStringAdvancedConverter.IsRough); int intValue = 1234; string intToStringValue = intStringAdvancedConverter.Convert(intValue); TestLog.Info("IntToString: {0} {1}", intValue, intToStringValue); Assert.AreEqual(intValue.ToString(), intToStringValue); }
// Constructors public EnumAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { Type toType = typeof(TTo); Type fromType = typeof(TFrom); if (!toType.IsEnum && !fromType.IsEnum) { throw new InvalidOperationException(); } if (!typeof(TFrom).IsEnum) { inputValueTypeAdvancedConverter = provider.GetConverter <TFrom, TIntermediate>(); } if (!typeof(TTo).IsEnum) { outputValueTypeAdvancedConverter = provider.GetConverter <TIntermediate, TTo>(); } }
// Constructors public UInt64RoughAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
public TestClassAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public Int64AdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { baseDateTimeTicks = provider.BaseTime.Ticks; }
// Constructors public DecimalAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public ObjectAdvancedConverterFactory(IAdvancedConverterProvider provider) { this.provider = provider; }
// Constructors public StringAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public NullableAdvancedConverterFactory(IAdvancedConverterProvider provider) { this.provider = provider; }
// Constructors public EnumAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors protected RoughAdvancedConverterBase(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors /// <summary> /// Initializes a new instance of this type. /// </summary> /// <param name="provider">The provider this advanced converter is bound to.</param> public AdvancedConverterBase(IAdvancedConverterProvider provider) { ArgumentValidator.EnsureArgumentNotNull(provider, "provider"); this.provider = provider; }
// Constructors public ObjectToBaseAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors protected StrictAdvancedConverterBase(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public TimeSpanAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public SByteRoughAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public DoubleAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors /// <summary> /// Creates new instance of <see cref="WrappingAdvancedConverter{TFrom,TFromBase,TTo,TToBase}"/>. /// </summary> /// <param name="provider">Converter provider this converter is bound to.</param> public WrappingAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { BaseConverter = provider.GetConverter <TFromBase, TToBase>(); }
// Constructors public GuidAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public DecimalRoughAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { baseDateTimeTicks = provider.BaseTime.Ticks; }
// Constructors public ObjectToDescendantAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public BooleanAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public Int32RoughAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public NullableForwardAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public NullableReverseAdvancedConverter(IAdvancedConverterProvider provider) : base(provider) { }
// Constructors public EnumAdvancedConverterFactory(IAdvancedConverterProvider provider) { this.provider = provider; }