小编use*_*929的帖子

typeof generic和casted类型

假设我们有通用方法:

public void GenericMethod<T>(T item)
{
    var typeOf = typeof(T);
    var getType = item.GetType();
}
Run Code Online (Sandbox Code Playgroud)

我们使用以下参数调用它:

GenericMethod(1)
GenericMethod((object) 1)
Run Code Online (Sandbox Code Playgroud)

结果是:

typeOf = System.Int32
getType = System.Int32
Run Code Online (Sandbox Code Playgroud)

typeOf = System.Object
getType = System.Int32
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么输入到对象的typeof整数返回System.Object,但.GetType()返回System.Int32?

c# generics

22
推荐指数
1
解决办法
735
查看次数

标签 统计

c# ×1

generics ×1