Nó nói với NGen rằng việc chấp nhận phương thức mà nó được áp dụng ngay cả trong một tổ hợp khác là ổn.
Ví dụ:
String.Equals
có [TargetedPatchingOptOut]
- Bạn viết một chương trình gọi
String.Equals
- Bạn chạy NGen trên chương trình này để có hiệu suất tối đa
- NGen sẽ nội tuyến
String.Equals
cuộc gọi, thay thế hướng dẫn cuộc gọi phương thức bằng mã thực tế trong phương thức.
Các cuộc gọi phương thức (hơi) đắt tiền, vì vậy đây là một sự tăng hiệu năng cho các phương thức thường được gọi.
Tuy nhiên, nếu Microsoft tìm thấy lỗ hổng bảo mật String.Equals
, họ không thể cập nhật mscorlib.dll
, vì điều đó sẽ không ảnh hưởng đến hội đồng mà bạn vừa NGen. (Vì nó có mã máy thô mà không cần tham khảo String.Equals
).
Tôi cho rằng nếu điều đó thực sự xảy ra, bản cập nhật bảo mật sẽ xóa cửa hàng NGen.
Lưu ý rằng thuộc tính này chỉ hữu ích trong các cụm .NET Framework. Bạn không cần nó trong của riêng bạn. Bạn có thể tìm thêm thông tin về điều đó tại đây: https://stackoverflow.com/a/14982340/631802