我在班级中有以下属性......
public IObjectSet<Foo> Foos { get; set; }
public IObjectSet<Baa> Baas { get; set; }
public IObjectSet<PewPew> Pew^2 { get; set; }
我希望根据预先确定的泛型类型返回其中一个属性的值。
例如
public IObjectSet<T> Set<T>() where T : class
{
// THIS CODE DOESN'T COMPILE.
if (T is User)
{
return Users as IObjectSet<T>;
}
else if (T is Clan)
{
return Clans as IObjectSet<T>;
}
}
所以,当我有一个特定的类型..我需要检索正确的类型数据。
例如
return TheClass.Set<Foo>().AsQueryable();
这可能吗?
答案 0 :(得分:6)
if (typeof(T) == typeof(User))
答案 1 :(得分:2)
Is
,您需要使用
if (typeof(T) == typeof(User)) ..
答案 2 :(得分:1)
使用此:
if(typeof(T) == typeof(User))