繁体   English   中英

如何检查泛型类型参数是否可为空? [重复]

How to check if a generic type parameter is nullable? [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

可能重复:
确定通用参数是否为Nullable类型

我正在尝试确定类型参数是否为Nullable。

    public T Get<T>(int index)
    {
        var none=default(T);
        var t = typeof(T);
        BaseVariable v = this[index].Var;
        if (T is Nullable) //compiler error
        {
            if (v == ... )
            {
                return none;
            }
        }
        //....
    }

我该怎么做呢? 我试过做t == typeof(Nullable)但总是导致错误。

我想要发生的是foo.Get<bool?>(1)有时为null。

1 个回复

您可以使用Nullable.GetUnderlyingType

var t = typeof(T);
// ...
if (Nullable.GetUnderlyingType(t) != null)
{
    // T is a Nullable<>
}
2 Java泛型类型参数[重复]

这个问题在这里已有答案: 获取java.util.List的通用类型 14个答案 我有一个方法,它以List&lt;?&gt;作为参数。 在method ,我怎么知道,如果arg是一个List的ClassA或List的ClassB ? ...

3 是否使用泛型类型参数重载?

我想添加泛型类型方法DoSomething&lt;T&gt; ,但为了向后兼容,我希望它只是从具有相同名称的现有方法传递泛型类型的type参数。 但是,新DoSomething中的&lt;dataType&gt;会引发以下类型检查错误:“预期类型名称或名称空间”。 有人可以帮助我理 ...

8 如何引用泛型类型参数的泛型类型参数?

实体界面: 和道: 如果我尝试删除Dao(Id)上的第二个类型参数,我会得到“Id无法解析为类型”。 我的问题是,如果它在某种程度上可以摆脱Dao上的第二个类型参数,因为它本质上是多余的。 为了清楚起见,我试图避免在我使用Dao的任何地方重复Id类型。 在Entity接 ...

10 java generics 中的通用类型参数

有没有一种方法可以将泛型类型传递给泛型 class 之类的 这里Result采用 arguments T and R类型的Wrapper之一。 Result接口中的getResult方法返回R 。 我所做的是下面, 在 java 中有没有更好的方法来做到这一点。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM