我们已经使用reflector查看了一些框架类,并注意到一些方法和属性具有以下属性
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
我很确定我在别的地方也看到过上面的 comments ,没有跟进过.
有人能告诉我这在C#和其他语境中意味着什么吗?
我们已经使用reflector查看了一些框架类,并注意到一些方法和属性具有以下属性
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
我很确定我在别的地方也看到过上面的 comments ,没有跟进过.
有人能告诉我这在C#和其他语境中意味着什么吗?
它告诉NGen,即使在不同的程序集中,也可以内联应用它的方法.
例如:
String.Equals
有[TargetedPatchingOptOut]
String.Equals
的程序String.Equals
调用,用方法中的实际代码替换方法调用指令然而,如果微软在String.Equals
中发现了安全漏洞,他们就不能只更新mscorlib.dll
,因为这不会影响你刚刚创建的程序集(因为它有未引用String.Equals
的原始机器代码)
请注意,此属性仅在.NET Framework程序集中有用.你自己并不需要它.你可以在这里找到更多信息:https://stackoverflow.com/a/14982340/631802