首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反射.NET 6中的无效类名

反射.NET 6中的无效类名
EN

Stack Overflow用户
提问于 2022-01-29 23:31:57
回答 1查看 37关注 0票数 0

我试图从名称空间中获取所有类:

代码语言:javascript
复制
var commands = Assembly.GetExecutingAssembly().GetTypes()
            .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
            .ToList();

在这个命名空间中只有一个类:

但是,在命令变量中,我有两个类:

我不明白它为什么坏了。我也解决了这个麻烦通过添加

!t.FullName!.Contains("<>")where语句中的命令,但我不认为它是完美的解决方案。

有人能解释一下为什么反射会中断吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-29 23:46:54

没有什么坏消息,这就是编译器为运行代码而生成的类,特别是lambda函数、可折叠的可枚举状态机和async/await状态机。它使用C#明确不支持的字符作为标识符(<>)的一部分,因此不会有任何冲突,即使CLR支持它们。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70910637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档