Reflectorを介して実行中に、WPFアプリケーションのバグの根本原因を見つけると、多くの異なるクラス、メンバーなどにわたっている内部属性FriendAccessAllowedAttribute
が見つかりました。 (この属性があれば)この属性を正確に使用するものを見つけることができません。私の推測では、これはC++/CLIインフラストラクチャの一部ですが、MSDN、C++/CLI仕様、およびCLI仕様の検索では何も表示されません。誰がそれが何のために使われているのか分かっていますか?WPFでの内部FriendAccessAllowedAttributeの使用
答えて
私が思い出したように、これはフレームワークのフレンド集合間の依存関係を制御する方法でした。基本的にアセンブリBにアセンブリAの「フレンド」アクセスを許可した場合、すべてのBの内部メンバーをAが利用できるようにしないでください。そのようなメンバーへの変更は、レビューする必要があるセキュリティの面積を増加させる)。この属性がSilverlightで尊重されていることを確かめてください。完全なフレームワークについては不明です。
ええ、私はリフレクターをしばらく掘り下げていましたが、Silverlightをチェックアウトするとは思っていませんでした。 – user7116
興味深いことに、その属性はそれ自身に起因しています。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll
から逆コンパイル
、バージョン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
{
}
だから私はそれがmscorlib
の友人が割り当てられている選択したアセンブリによってのみを使用することができます推測。
EDITMicrosoft's reference source for the attributeは定義がInternalsVisibleToAttribute
と並んで、コメント文字列を含んで示しています
AllInternalsVisible友達アセンブリのために真でない場合、FriendAccessAllowed属性はその友人と共有されている内部を示していますアセンブリ。
- 1. XAML/WPF - 内部
- 2. VB6 ActiveXコントロールスクロールバーを使用したWPFの内部
- 3. WPFアドラーの内部コントロール
- 4. WPFアプリケーション内でのSilverlightコントロールの使用
- 5. WPF ClassModifierの内部パフォーマンスの問題
- 6. ボタン内部ボタン(WPF + Caliburn.Micro)
- 7. iPadアプリの内部使用
- 8. WPF Passwordbox - デバッグ時の内部エラー?
- 9. VSのBlendでWpfの外部リアルタイムレンダラーを使用する
- 10. WPF/Cでのバインディングを使用した外部UserControl#
- 11. TypeScript:名前空間内での内部インターフェイスの使用方法
- 12. シェルスクリプト内でsshの内部でscpを使用する方法
- 13. C#の内部クラスの使用
- 14. Javaの内部クラスの使用
- 15. テストスイート内の外部トランザクションの使用
- 16. バインディングにデフォルトのWPFコントロールの一部を使用する
- 17. PrimeFaces使用FileDownload内部フォーム
- 18. これをオブジェクト内のJavascript IIFE内部で使用する
- 19. Wpfグリッド内のColumnSpanでSharedSizeGroupを使用する
- 20. WPFのUIエレメント(内部エキスパンダー)を名前で取得する
- 21. WPFウィンドウと内部のElementHostでテキストが異なるレンダリング
- 22. selectサブ内部UPDATEクエリの使用
- 23. モジュール内部のクラスを使用
- 24. 内部結合選択ステートメントの使用
- 25. 使用するクラスは、内部の文
- 26. シリアライザ内部のシリサライザを使用
- 27. CRTPで内部クラスを使用する
- 28. カスタムワークフローアクティビティで内部Microsoftエディタを使用
- 29. Boxfuseで内部LBを使用する
- 30. WPF - 別のオブジェクトの内部にあるカスタムオブジェクトのプロパティへのバインド
この属性を持つ 'System.Threading.Tasks.Task'にはいくつかのフィールド/メソッドもあります。 –