Мне нравится отправлять универсальную функцию преобразования типа в метод, но я не могу понять, как это сделать.
Здесь недействительный синтаксис, который объясняет, что мне нравится, проблема заключается в том, что я не знаю, как указать общий тип вместе с моей func:
public void SomeUtility(Func<T><object,T> converter)
{
var myType = converter<MyType>("foo");
}
Изменить (см. также мою дискуссию в комментариях к Лоуренсу): "Генерирующим преобразователем типа" я хотел бы передать в конвертер, который может преобразовать любой сильный тип <T> (не объект), поэтому следующая строка в моем методе может быть:
var myOtherType = converter<MyOtherType>("foo");
Делегат, который мне нравится передавать в качестве параметра, будет выглядеть примерно так:
private delegate TOutput myConverterDelegate<TOutput>(object objectToConvert);
Теперь это более синтаксис/С#, чтобы сделать что-то, я, скорее всего, буду использовать интерфейс, но я надеюсь, что это возможно сделать с помощью func/delegate.