Max*_*ich 140 .net c# compiler-construction ngen
使用反射器经历了一些框架类,并注意到许多方法和属性具有以下属性
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
Run Code Online (Sandbox Code Playgroud)
我很确定我在其他地方也看到了上述评论,从未跟进过.
有人可以告诉我这在C#和其他任何背景下意味着什么?
SLa*_*aks 176
它告诉NGen,即使在不同的程序集中,也可以内联它应用的方法.
例如:
String.Equals
具有 [TargetedPatchingOptOut]
String.Equals
String.Equals
调用,用方法中的实际代码替换方法调用指令.但是,如果微软发现安全漏洞String.Equals
,他们不能只是更新mscorlib.dll
,因为这不会影响你只是NGen的程序集.(因为它有原始机器代码而没有引用String.Equals
).
我假设如果实际发生这种情况,安全更新将清除NGen商店.
请注意,此属性仅在.NET Framework程序集中有用.你自己不需要它.您可以在此处找到有关该内容的更多信息:https://stackoverflow.com/a/14982340/631802