我有一个Dictionary<Type, Dictionary<Guid,Component>>
,其中外部字典的键是存储在内部的对象的类型。
我想用泛型方法获取内部字典中的一个对象。类似的东西:
public T getObject<T>(Guid id, ???/*typeof(T) passed here*/) where T : Component
如何将第二个参数约束为typeof(T)?
答案 0 :(得分:8)
正如@Chirs Pickford所说;首先不需要额外的参数。
如果你有这样的通用方法:
public T getObject<T>(Guid id) where T : Component
{
// you can grab typeof(T) like this
var type = typeof(T);
}
答案 1 :(得分:0)
如果您仍想这样做,则需要使用T:
标记您的课程public class YourClass<T> where T: Component
{
public T getObject<T>(Guid id, T myvalue) ...