mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-17 12:15:47 +02:00
32 lines
983 B
C#
32 lines
983 B
C#
using System;
|
|
|
|
namespace TweetDuck.Data.Serialization{
|
|
sealed class SingleTypeConverter<T> : ITypeConverter{
|
|
public delegate string FuncConvertToString<U>(U value);
|
|
public delegate U FuncConvertToObject<U>(string value);
|
|
|
|
public FuncConvertToString<T> ConvertToString { get; set; }
|
|
public FuncConvertToObject<T> ConvertToObject { get; set; }
|
|
|
|
bool ITypeConverter.TryWriteType(Type type, object value, out string converted){
|
|
try{
|
|
converted = ConvertToString((T)value);
|
|
return true;
|
|
}catch{
|
|
converted = null;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool ITypeConverter.TryReadType(Type type, string value, out object converted){
|
|
try{
|
|
converted = ConvertToObject(value);
|
|
return true;
|
|
}catch{
|
|
converted = null;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|