ИИ для программиста?
ну это уже само по себе не взлетит
int FromString(string s)
double FromString(string s)
но вопрос интересный, мне приходит в голову только такой костыль
тут при создании нового класса Вася может забыть написать стандартный конструктор
это всплывет только при компиляции, когда новый тип захотят использовать в конверторе
interface IConvertable
{
string ToString();
IConvertable applyDataFromString(string value);
}
class MyType : IConvertable
{
object myValue;
public IConvertable applyDataFromString(string value)
{
this.myValue = Process(value);
return this;
}
private object Process(string value)
{
//convert string to MyType
}
}
class Converter
{
string ToString(IConvertable obj) => obj.ToString();
IConvertable FromString<T>(string value) where T : IConvertable, new()
{
return new T().applyDataFromString(value);
}
}