Возможно, вы хотите найти Form
из коллекции OpenForms
указанного типа.Поэтому вам нужно передать тип - вы можете либо передать объект Type
, либо вы можете сделать метод универсальным, чтобы вы могли передать параметр типа.Отправка в параметре типа имеет то преимущество, что вы можете быть безопасными по типу (возвращая конкретный тип, который вы искали, в случае, если он вам нужен).Вот общее решение:
private TForm getForm<TForm>()
where TForm : Form
{
return (TForm)Application.OpenForms.OfType<TForm>().FirstOrDefault();
}
Примечание, OfType
и FirstOrDefault
- это методы расширения LINQ, убедитесь, что вы импортируете System.Linq.Используйте метод выше, как это:
Form f = getForm<Form1>();