Reflection の使用を控えるようアドバイスを受けました。本当に知りたかったのですが、Reflection が高価だからですか? そうでない場合、使用を避ける理由は何ですか?
私の現在および将来のプロジェクトでは、特定のクラス (メンバー情報) にアクセスする必要があるかもしれません。フィールドとプロパティ - 値または宣言名をリストする必要がある場合があります。
だから私が知りたいのは、次のとおりです。
リフレクションはどのように機能しますか? どうやって情報にたどり着くの?(簡単な説明で十分です)
また、アプリケーションでリフレクションを使用することがあまり推奨されないのはなぜですか? フィールドまたはプロパティの値または名前である必要な情報を取得する必要がある場合は、System.Reflection を使用しないでください。
いくつかの背景。
私の現在のプロジェクト(たとえば)での使用法は、特定のSQLサーバーのテーブル列名、またはSQLテーブル名をリストすることです。
として返す他の方法を考えることができましたList<strings>
。
を使用することがなぜ、またはどのように「悪い」のかを本当に知っていればreflection
、
..(この特定のシナリオでは)別のアプローチを見つけることができるので、本当にそれを避けたい場合は、決定を下すことができます。
私が本当にリフレクションを避ける必要がある場合は、テーブル名のリストが必要なときはいつでも(好ましくない)データベースにアクセスするか、一度(データにアクセスして)それをテキストファイルまたはxmlに保存することができます。
もっとエレガントなものも知っています。しかし、それは問題ではありません。(繰り返しますが、他にも多くのユースケースがある可能性があるため、これは単なる例です。おそらくそれを知っているでしょう。)
アップデート
この質問は閉じられました。再開するのを手伝ってください。下で「再開」に投票してください
ありがとう 。