我有一个单例,可以注册一个函数来解析每种类型的id值:
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)
问题是,我如何存储每个func的引用以便最近调用它.
问题是每个func都有不同的T类型,我不能做这样的事情:
private Dictionary<Type,Func<object,uint>> _typeMap;
怎么解决呢?表达树?
问候
埃塞基耶尔