c# - .NET 泛型遇到问题

标签 c# .net generics

我在一个类中有以下属性...

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();

这可能吗?

最佳答案

if (typeof(T) == typeof(User))

关于c# - .NET 泛型遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540267/

相关文章:

c# - C# 中的静态派生类型?

c# - 使用图形 API 在 Azure AD B2C 中创建具有自定义属性的用户

scala - flatMap 行为在 2.10.0 中发生了变化

Java 扩展泛型类型参数

java - 我可以为泛型函数提供正确的类型信息吗?

c# - 在 propertygrid 中将属性更改为组合框

c# - IDENTITY_INSERT 设置为 OFF(并且应该是)

c# - 等待任务超时

.net - Hangfire 1.6.4 .NET Core - 无法解析依赖项

.net - 在 TFS2010 中找不到框架 ".NETFramework,Version=v4.5"的引用程序集