C# コードでのリフレクションの妥当性について疑問に思っています。たとえば、特定のソース オブジェクトのプロパティを反復処理し、指定された型の新しいインスタンスを作成し、同じ名前のプロパティの値を一方から他方にコピーする関数を作成しました。LINQ の複数のテーブルからの継承の欠如を回避するために、自動生成された LINQ オブジェクトから別のオブジェクトにデータをコピーするためにこれを作成しました。
ただし、このようなコードは本当に「ごまかしている」と思わざるを得ません。つまり、提供された言語構造を使用して特定の目的を達成するのではなく、それらを回避することができます。
この種のコードはどの程度許容されますか? リスクは何ですか?このアプローチの正当な用途は何ですか?