私はかなり新しいのでC#
、LINQを使用した良い解決策があると確信している少しの問題があります。
背景:
CrystalReportsを使用する、継承したプロジェクトがあります。レポート自体には、すべて統一された方法で関連付けられたビューアフォーム[コンポーネント/コントロールを含む]があります(これらはマシンで生成されたものであると確信しています)。ReportClass
データベースプロパティを含む子孫のコンポーネント。データベースプロパティは、これらすべてのクラスに表示されるメソッド()を区別する唯一のものです。Log_On_Database
私がやりたいのは、フォームを検索し、ReportClass
それを使用してローカルデータベース変数にプロパティの値を入力する共通の基本クラスを作成Log_On_Database
して、単一の場所に実装できるようにすることです。
質問:
LINQを使用しcomponents
て、フォームに属するすべての([コントロールだけでなく])を取得し、コントロールである(したがって独自のコントロールを持つことができる)ものを再帰的に取得するにはどうすればよいですか?
注:結果をaで取得するのList
は素晴らしいことです。これは、長さ0(何かがひどく間違っている)、1(予想される)、またはそれ以上をテストできるためです(そして、これらの奇妙なケースで必要なことを実行できます) -これがすべて生成されたコードであるとしても、恐ろしく苦痛な方法で変更されていないことを私は信じていません。