Trong khi chạy qua Reflector để tìm nguyên nhân gốc của lỗi trong ứng dụng WPF, tôi tình cờ gặp một thuộc tính nội bộ FriendAccessAllowedAttribute
được rải rác trên nhiều lớp khác nhau, thành viên, v.v. Tuy nhiên, tôi ' m không thể xác định chính xác những gì sử dụng thuộc tính này (nếu có). Tôi đoán đây là một phần của cơ sở hạ tầng C++/CLI, nhưng tìm kiếm MSDN, thông số C++/CLI và thông số CLI không tiết lộ gì cả. Có ai biết về những gì nó được sử dụng cho?Sử dụng FriendAccessAllowedAttribute bên trong WPF
Trả lời
Khi tôi nhớ lại, đó là một cách để kiểm soát sự phụ thuộc giữa các hội đồng người bạn trong Khung. Về cơ bản, khi bạn cấp cho assembly A "friend" truy cập vào assembly B, bạn không muốn tất cả thành viên nội bộ của B được cung cấp cho A, vì sau đó bất kỳ thay đổi nào đối với thành viên đó sẽ có khả năng phá vỡ (sẽ tăng diện tích bề mặt an ninh cần được xem xét). Khá chắc chắn thuộc tính này được vinh danh trong Silverlight, không chắc chắn về toàn bộ khung công tác.
Vâng tôi đã dành một thời gian đào trong phản xạ, nhưng không nghĩ để kiểm tra Silverlight. – user7116
Điều thú vị là thuộc tính đó được quy cho chính nó!
decompiled từ C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll
, phiên bản 4.0:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum |
AttributeTargets.Constructor | AttributeTargets.Method |
AttributeTargets.Property | AttributeTargets.Field |
AttributeTargets.Event | AttributeTargets.Interface,
AllowMultiple = false, Inherited = false)]
[FriendAccessAllowed]
internal sealed class FriendAccessAllowedAttribute : Attribute
{
}
Vì vậy, tôi đoán nó chỉ có thể được sử dụng bởi hội chọn được giao bạn bè của mscorlib
.
EDITMicrosoft's reference source for the attribute thể hiện định nghĩa là bên cạnh InternalsVisibleToAttribute
và bao gồm các chuỗi bình luận:
Nếu AllInternalsVisible là không đúng đối với một hội bạn bè, thuộc tính FriendAccessAllowed chỉ mà internals được chia sẻ với người bạn đó hội,, tổ hợp.
- 1. Sử dụng MonoGame trong WPF
- 2. Hình ảnh tham khảo được lưu trữ trong dll bên ngoài bằng cách sử dụng wpf
- 3. Sử dụng MS ReportViewer trong WPF
- 4. Sử dụng DataContext như CommandParameter trong WPF
- 5. WPF UserControl bên trong một UserControl
- 6. Sử dụng process.start trong ứng dụng wpf để gọi một ứng dụng wpf khác
- 7. UserControl sử dụng các phần tử cha trong wpf?
- 8. Cách sử dụng tệp App.config trong các ứng dụng WPF?
- 9. Sử dụng đồ họa vector XAML trong ứng dụng WPF
- 10. Sử dụng hashtable bên trong Parallel.ForEach?
- 11. Sử dụng Mẫu bên ngoài trong KnockoutJS
- 12. SqlConnection.Close() bên trong sử dụng câu lệnh
- 13. Sử dụng NSProgressIndicator bên trong NSMenuItem
- 14. Sử dụng stringstream bên trong hàm ostream
- 15. Sử dụng cachedwithin attibute bên trong cfquery
- 16. Sử dụng bash shell bên trong Matlab
- 17. Sử dụng GridView bên trong UpdatePanel
- 18. Sử dụng getopts bên trong hàm Bash
- 19. Sử dụng lớp bên trong mẫu T4
- 20. Draggable Canvas trong WPF Sử dụng một 'Thumb'
- 21. Xem PDF trong WPF mà không cần sử dụng WindowsFormsHost
- 22. Hình ảnh WPF bên trong ResourceDictionary là singleton?
- 23. WPF adorner với các điều khiển bên trong
- 24. WPF: ListView bên trong Scrollviewer; Câu hỏi bố cục
- 25. Sử dụng HashSets với ObservableCollection với WPF
- 26. Sử dụng PasswordBox với WPF - MVVM
- 27. WPF sử dụng MVVM: DataBinding với RelativeSource
- 28. OpenSource Apps sử dụng WPF ::: Học :::
- 29. WPF DataGrid bên trong vấn đề chiều cao Accordion
- 30. Lưu WriteableBitmap nộp sử dụng WPF
Cũng có một số trường/phương thức trên 'System.Threading.Tasks.Task' với thuộc tính này. –