c# - 如何获取 Nullable<T> 实例的类型

标签 c# types nullable

<分区>

如果我这样做:

Type type = typeof(Nullable<int>);

type变量保持正确的 Nullable'1类型。

但是,如果我尝试这样做:

Nullable<int> n = 2;
Type type = n.GetType();

type最终持有 System.Int32这是基础类型,但不是我所期望的。

如何获取 Nullable<> 的类型实例?

请记住,我不知道可空实例的基础类型,所以我无法调用 typeof .

最佳答案

不优雅,但你可以将它包装在一个通用函数中:

public static void Main()
{
    int? i = 2;
    Console.WriteLine( type(i) );
}

public static Type type<T>( T x ) { return typeof(T); }

关于c# - 如何获取 Nullable<T> 实例的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33528909/

相关文章:

java - 用Java模拟一个指针?在 Kotlin ?

c# - 为可空类型重载 = 运算符?

c# - "Nullable object must have a value"当Where使用方法时?

java - Java SecretKeySpec 的 C# 等价物是什么

时间:: Get country name from country code

c# - 将未命名的json数组反序列化为c#中的对象

javascript - TypeScript - 从对象创建联合

c# - 为什么 linq-2-sql 会创建额外的不必要的对象?

Scala 编译器在使用泛型的方法中显示 "No TypeTag available for T"

sql - 我应该对 NOT NULL 列有多自由?