一部のコードで Activator.CreateInstance() を使用しています。これを使用してインスタンスを作成するリスクはありますか?
1 に答える
12
コードが弱く型付けされているというリスクがあり、実行時まで、パラメーターなしのパブリック コンストラクターを持たない型で誤ってコードを使用しようとしていたことがわかりません。コンストラクターの直接呼び出しよりもパフォーマンスが少し悪いです。それ以外は大丈夫なはずです。
代わりに強く型付けされたファクトリを使用するように設計できる場合、それはさまざまな点で望ましいことですが、それが常に適切であるとは限らないことは完全に理解しています。基本的には、通常の設計パターンが失敗した場合の最後の手段のようなものですが、これは完全に合理的な最後の手段です :)
特に気になる点はありますか?
于 2009-10-28T07:17:54.093 に答える