Il raconte NGen que c'est OK pour insérer le méthode il est appliqué même dans une autre assemblée.
Par exemple:
-
String.Equals
a [TargetedPatchingOptOut]
- Vous écrivez un programme qui appelle
String.Equals
- Vous exécutez NGen sur ce programme pour un maximum de performance
- NGen sera inline l'
String.Equals
appel, en remplacement de l'appel de la méthode de l'enseignement, avec le code dans la méthode.
Les appels de méthode sont (un peu) cher, c'est donc un gain de performance pour l'fréquemment appelées méthodes.
Toutefois, si Microsoft trouve un trou de sécurité dans String.Equals
, ils ne peuvent pas mettre à jour mscorlib.dll
, car cela ne va pas affecter l'assemblée que vous venez de NGen. (Car il a cru en code machine sans référencement String.Equals
).
Je suppose que si cela devait se produire, la mise à jour de sécurité bien NGen magasin.
Notez que cet attribut n'est utile que dans le .NET Framework assemblées. Vous n'en avez pas besoin dans votre propre. Vous pouvez trouver plus d'informations à ce sujet ici: http://stackoverflow.com/a/14982340/631802