Type Forwardが使用されている現実のシナリオを誰も提供できますか?タイプ転送
タイプ転送
答えて
フレームワークの異なるバージョンのアセンブリ間の種類を移動するときにBCLライブラリーは、一般的TypeForwardedTo
属性を使用します。たとえば、Func<>
スタイルの代理人は、3.5フレームワークのSystem.Coreから4.0フレームワークのmscorlibに移動されました。
あなたは現実の世界を見ることができますが、マニフェストのノードでILDASM、ダブルクリックでは4.0からSystem.Core.dllを開き、以下の
.class extern forwarder System.Func`1
{
.assembly extern mscorlib
}
.class extern forwarder System.Func`2
{
.assembly extern mscorlib
}
.class extern forwarder System.Func`3
{
.assembly extern mscorlib
}
msdnから:
たとえば、アプリケーションがUtility.dllという名前のアセンブリ内のExampleクラスを使用しているとします。 Utility.dllの開発者はアセンブリをリファクタリングすることになり、そのプロセスでExampleクラスを別のアセンブリに移動させる可能性があります。古いバージョンのUtility.dllが、新しいバージョンのUtility.dllおよびそのコンパニオンアセンブリに置き換えられた場合、新しいバージョンのUtility.dllにExampleクラスが見つからないため、Exampleクラスを使用するアプリケーションが失敗します。
Utility.dllの開発者は、TypeForwardedToAttribute属性を使用して、Exampleクラスの要求を転送することでこれを回避できます。属性が新しいバージョンのUtility.dllに適用されている場合、Exampleクラスの要求は、クラスを含むアセンブリに転送されます。既存のアプリケーションは、再コンパイルせずに正常に機能し続けます。
一般に、ライブラリクラスの柔軟性/リファクタリング能力が向上するようです。私はMSDNのブログに役立つ記事を見つけました。その記事では、既存のライブラリが2つの別々のDLLに分割されていることを示しています。ライブラリを使用するアプリケーションは、タイプ転送のおかげでdllの新しいバージョンで異なるDLLにタイプが移動されたことに気にする必要がありません。
- 1. USBコントロール転送は配送を保証しますか? (セクション5.4転送タイプ)転送
- 2. コンテナ/タイプ名転送用の再帰テンプレート・タイプ
- 3. アプリで転送を転送
- 4. ハプロキシ転送先転送
- 5. タイプ制限付きの完璧な転送
- 6. プロパティ 'ダウンロード'は '転送'タイプにありません。 in ionic 2 FileTransfer
- 7. 1つのページに2つのフォーム - 入力タイプの転送
- 8. VBA:サブルーチンコールの引数を通じて転送タイプ
- 9. WSDLはFILEタイプを転送できますか?
- 10. PHPファイルのFTP転送タイプ - PHPファイルのバイナリ転送は問題ありませんか?
- 11. 転送先への転送先
- 12. BigQueryデータ転送サービス転送セットアップ(DCM)
- 13. パケットフィルタリングと転送
- 14. ファイル転送パス
- 15. シルバーマルチページバック/転送
- 16. Twilioコール転送
- 17. ステルスドメイン転送
- 18. PHPファイル転送
- 19. SOAPUI転送プロパティ
- 20. Akkaポート転送
- 21. 転送のDataRow
- 22. サービスバス/リクエスト転送
- 23. UARTデータ転送
- 24. セレントラックネットワークデータの転送
- 25. libusbバルク転送
- 26. Java転送オブジェクト
- 27. Twilioライブ転送
- 28. ejabberdファイル転送
- 29. 転送データ
- 30. TCPビデオファイル転送
優れた例のような行のすべてを探して、このの使用しています。 WCFリゾルバだけが 'TypeForwardedToAttribute'を尊重するなら、今度は-p –