【问题标题】:How to check if a type is abstract in .NET Core?如何检查 .NET Core 中的类型是否为抽象类型?
【发布时间】:2016-05-28 03:45:28
【问题描述】:

此代码在 .NET(4.6 及更早版本)中运行良好

var types = typeof(SomeType).GetTypeInfo().Assembly.GetTypes()
from type in types
where !type.IsAbstract

但在 .NET Core (DNX Core 5.0) 中会产生编译错误:

错误 CS1061“Type”不包含“IsAbstract”的定义,并且找不到接受“Type”类型的第一个参数的扩展方法“IsAbstract”(您是否缺少 using 指令或程序集引用?)

那么,如何在 DNX Core 5.0 中检查一个类型是否是抽象的,就像在 .NET Framework 4.6 中那样?

【问题讨论】:

  • type.GetTypeInfo().IsAbstract
  • @LucasTrzesniewski 正是我要找的!将其添加为答案。
  • TBH 这不是一个很好的答案,我希望这是重复的
  • 我认为将其添加为答案(甚至是自我答案)会很好,只是为了让人们更容易看到。特别是因为这篇文章有相当多的选票。

标签: reflection types abstract-class .net-core coreclr


【解决方案1】:

我发布其中一个 cmets 作为答案,因为这是我所要求的:

type.GetTypeInfo().IsAbstract

【讨论】:

    猜你喜欢
    • 2012-01-10
    • 1970-01-01
    • 2011-09-26
    • 2017-10-28
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多