У меня есть синглтон, который может зарегистрировать функцию для разрешения значения идентификатора для каждого типа:
public void RegisterType<T>(Func<T, uint> func)
например:
RegisterType<Post>(p => p.PostId );
RegisterType<Comment>(p => p.CommentId );
, а затем я хочу разрешить id для объекта, например:
GetObjectId(myPost);
где GetObjectId определение
public uint GetObjectId(object obj)
Вопрос в том, как я могу сохранить ссылку для каждой функции, чтобы вызывать ее в последнее время. Проблема в том, что каждая функция имеет разные T типа, и я не могу сделать что-то вроде этого:
private Dictionary<Type, Func<object, uint>> _typeMap;
Как это решить? Деревья выражений?
касается Ezequiel