How could I get only the texboxes in a ControlCollection ?
I try :
public static IEnumerable<TextBox> TextBoxes(this ControlCollection controlCollection)
{
return (IEnumerable<TextBox>)controlCollection.Cast<Control>().Where(c => c is TextBox);
}
But I got the following error : Unable to cast object of type 'WhereEnumerableIterator`1[System.Web.UI.Control]' to type 'System.Collections.Generic.IEnumerable`1[System.Web.UI.WebControls.TextBox]'.
I Use Asp.Net 3.5 with C#
You don't actually need a new extension method - there's already one for you that will get this:
The OfType method returns a sequence (
IEnumerable<T>
) subset of the sequence provided. If the type isn't convertible, it's left out. Unlike most of the LINQ extension methods,OfType
is available on sequences that aren't strongly-typed:Or if you do want to wrap it in an extension method, it's of course quite simple: