Я использую System.Reflection для загрузки типа, который я не могу загрузить в другое время во время разработки. Мне нужно вытащить все элементы управления в коллекцию этого типа, однако, команда OfType, похоже, не похожа на синтаксис отражения. вот «близко к», что я получил.. Использование сети Reflection To Define OfType
Dim ControlType As Type = System.Reflection.Assembly.GetAssembly(_
GetType(MyAssembly.MyControl)) _
.GetType("MyAssembly.MyUnexposedControl")
Dim Matches as List(Of Control) = MyBaseControl.Controls.OfType(Of ControlType)
Так что этот код является фиктивным, он не работает, но вы получаете представление о том, что я пытаюсь сделать. Итак, есть ли способ использовать отражение и получить все элементы управления этого типа?
это выглядит хорошо, однако, «Где», кажется, не появляются в System.Web.UI.ControlCollection –
@Russ Где метод расширения на IEnumerable, так же как OfType. Пока у вас есть пространство имен System.Linq, вы получите доступ к обоим методам. –
ControlCollection не реализует IEnumerable –