- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将首先说我正在消除静态数组初始值设定项被编译器转换为私有(private)嵌套类的假设,通常具有像 __StaticArrayInitTypeSize=12
这样的名称。 .据我了解,已阅读 this extremely informative article ,这些私有(private)类是值类型,它们没有用 CompilerGeneratedAttribute
标记类(class)。
我正在做一个需要处理某些类型并忽略其他类型的项目。
我必须能够处理自定义结构类型,就像生成的静态数组初始值设定项类一样,它们是值类型。我必须忽略生成的静态数组初始值设定项类。我还必须忽略枚举和委托(delegate)。
我正在使用 Linq 提取这些类,如下所示:
var typesToProcess = allTypes.Where(type => !type.IsEnum &&
!type.IsArray &&
!type.IsSubclassOf(typeof(Delegate)));
IsArray
属性(property)不是我想的那样。无论如何,生成的静态数组初始值设定项类仍然显示在
typesToProcess
中。可枚举。
__StaticArrayInitTypeSize
进行字符串比较来破解它。 ,但是有更清洁的解决方案吗?
最佳答案
好吧,我自己用 C# 4 编译器尝试过,我得到了一个名为 <PrivateImplementationDetails>{D1E23401-19BC-4B4E-8CC5-2C6DDEE7B97C}
的内部类。包含一个名为 __StaticArrayInitTypeSize=12
的私有(private)嵌套结构.
该类包含一个名为 $$method0x6000001-1
的结构类型的内部静态字段。 . field 本身装饰有 CompilerGeneratedAttribute
.
问题是所有这些都是特定于实现的。它可能会在 future 的版本中发生变化,或者也可能与早期版本不同。
任何包含 <
的成员名称, >
或 =
是由编译器生成的“不可描述”的名称,因此您可以将其视为一种隐含的 CompilerGenerated
,如果这有任何用处。 (不过,此类生成的类型还有许多其他用途。)
关于linq - 如何辨别 Type 是否是静态数组初始值设定项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7773945/
我想成为 Spark 纱客户(link)。是否需要安装hadoop?还是只安装 yarn 可以吗? (by this link) 最佳答案 No Spark不需要Hadoop即可运行。 Apache
我是一名优秀的程序员,十分优秀!