0

リフレクションを使用しないことを検討すべき時期はよくわかりません。現時点では、次のシナリオに苦労しています。

2 つのクラス間のマッピングは、リフレクションによって行われます (辞書からプロパティへ)。あるクラスには がdictionary<string, object>あり、別のクラスには辞書のキーと同じ名前のプロパティがあります。次に、リフレクションを使用してプロパティを取得し、設定します。

ご覧のとおり、すべてのオブジェクトのコストのかかるキャストもあります。また、型が異なるため、カスタムキャストを行う必要がある場合もあります..

リフレクションの唯一の大きな利点は、数行と少ないクラスで「簡単に」マッピングできることです。リフレクションと通常のプロパティ セットの両方のアプローチが可能です。

:私の質問は、問題を解決する方法ではなく、設計の観点からのものです。

アドバイスをいただければ幸いです。

4

1 に答える 1

1

how to私の質問は、問題を解決するのではなく、デザインの観点からのものです

あなたの質問に答えるには、一般にリフレクションを使用して、このような動的プロパティ マッピングを行います。ただし、実際には、リフレクションは重く遅くなる可能性があります (お気づきのように)。おそらくご想像のとおり、この問題はかなり一般的であり、 AutoMapperなどのすべての面倒な作業を行うライブラリが既に存在します。

オブジェクトへのマッピングDictionaryに関する限り、AutoMapper をそのような目的で使用したことがないため、AutoMapper がそれをサポートするかどうかについてはコメントできませんでした (おそらく可能だと思いますが、かなり柔軟です)。あなたDictionaryがカスタムマッピングの単なるブリッジである場合、使用に切り替えた場合AutoMapper、これを完全に取り除くことができます.

于 2012-09-17T13:53:43.023 に答える