gpt4 book ai didi

C#反射问题

转载 作者:太空狗 更新时间:2023-10-30 00:17:32 24 4
gpt4 key购买 nike

我在使用反射时遇到了以下问题。

以下语句的计算结果为 false:

object[] attributes = someType.GetCustomAttributes(true);

if (attributes[0] is NUnit.Framework.TestFixtureAttribute)
return true;

但是这计算为真:

object[] attributes = someType.GetCustomAttributes(true);

if (attributes[0].ToString() == "NUnit.Framework.TestFixtureAttribute")
return true;

有什么想法吗?

最佳答案

也许它正在加载不同版本的程序集?

比较 attributes[0].GetType().Assemblytypeof(NUnit.Framework.TestFixtureAttribute).Assembly .

只需执行引用类型比较 - 即使两个 Assembly实例已从完全相同的文件加载,如果它们是两个独立的实例,则从它们创建的任何类型都将是不同的(使 is 失败)。

关于C#反射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411102/

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