c# - 泛型 c#.net

标签 c# generics

在下面的代码“where T : WsgTypes.RouteRestriction”中,我可以添加多个类,以便 T 只能是我感兴趣的那几个类类型吗

    public static T GetDetails<T>(string code) where T : WsgTypes.RouteRestriction
    {
        T details;
        if (typeof(T) == typeof(WsgTypes.TicketType))
        {
            details = TicketTypeDetail.GetDetails(code) as T;

        }
        else if (typeof(T) == typeof(WsgTypes.RouteRestriction))
        {
            details = RouteRestrictionDetail.GetDetails(code) as T;

        }
        else
        {
            throw new NotSupportedException("");
        }
        return details;
        throw new NotImplementedException();
    }

最佳答案

在我看来,这不是对泛型的正确使用。如果 TicketTypeRouteRestriction 实现一些 IDetailed 会更好。

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

相关文章:

typescript - 使用嵌套类型参数而不在 TS 中声明两次

java - 从类型删除的 Java 对象获取原始类

c# - 将 HTML 转换为 WIki 格式

c# - .NET Core 中的事务注释属性

C# e.Fullname 没有扩展名

c++ - 在类外将部分指定的模板化矩阵乘法运算符重载函数声明为友元

generics - XML 或 JSON 的 JAX-RS 响应不起作用

c# - MySQLConnection 在 Visual Studio 中抛出异常

c# - WPF 中的 JSON 和二进制文件

java - 是否可以获得通用参数的类?