gpt4 book ai didi

c# - 为什么这种类型不相等?

转载 作者:行者123 更新时间:2023-11-30 19:32:05 25 4
gpt4 key购买 nike

using System;
using System.Reflection;

namespace App
{
public class A<T>
{
public WonderfulClass<T> field;
}

public class WonderfulClass<T> { }

class Programm
{
static void Main(string[] args)
{
Type t = typeof(A<>);

Type t1 = t.GetField("field").FieldType;
Type t2 = typeof(WonderfulClass<>);

//Why t1 and t2 are different?
Console.WriteLine(t1 == t2 ? "Equal" : "Not Equal");
}
}
}

最佳答案

如果您检查属性,您会注意到:

t2.IsGenericTypeDefinition
true
t1.IsGenericTypeDefinition
false

因此,虽然 t2 是一个实际定义,但 t1 已经应用了它的通用类型参数。

注意以下几点:

t1.GetGenericTypeDefinition() == t2
true

关于c# - 为什么这种类型不相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com