我还很陌生C#
,遇到了一些问题,我确信使用 LINQ 有一个很好的解决方案。
背景:
我继承了一个使用 CrystalReports 的项目,报告本身都有以统一方式关联的查看器表单 [包含组件/控件](我很确定它们是机器生成的),其中之一是一个ReportClass
包含数据库属性的组件。数据库属性是唯一Log_On_Database
区分所有这些类中出现的方法 ( ) 的东西。我想做的是创建一个公共基类,它搜索表单ReportClass
并使用它来填充其本地数据库变量w/属性值,以便我可以Log_On_Database
在单个位置实现。
问题:
如何使用 LINQ 来获取components
属于表单的所有(不仅仅是[只是]控件)并递归地获取那些是控件的(因此可以拥有自己的)?
注意:得到结果List
会很棒,因为我可以测试长度为 0(出现严重错误)、1(预期)或更多(然后我可以在那些奇怪的情况下做我需要做的事情) -- 即使这都是生成的代码,我也不相信它没有以极其痛苦的方式进行修改。