Как получить объект нужного типа?

175
05 января 2022, 15:20

У меня есть список с формами(System.Windows.Forms.Form). Я хочу из этого списка получить форму конкретного типа. Наверное по коду будет понятнее:

public List<Form> Forms = new List<Form>()
{
    new HelloForm(),
    new SomeForm()
};
public T GetForm<T>() where T : Form
{
    return Forms.Find(x => x.GetType() == T);
}

В функции GetForm ошибка: T является тип, который не допустим в данном контексте. Как это написать правильно?

Уточнение: .Net Framework 2.0 (Linq отсутствует)

Answer 1

Все делается просто

public T GetForm<T>() where T : Form
{
    foreach(var f in Forms) if (f.GetType() == typeof(T)) return (T)f;
    return default(T);
}
READ ALSO
Форма закрывается с ошибкой

Форма закрывается с ошибкой

Пытаюсь сделать так, чтобы при изменении значения в comboBox база данных выводилась в datagridviewВроде бы все работает, но при закрытии формы выдает...

103
Строки в c#. String \ StringBuilder

Строки в c#. String \ StringBuilder

Ребят, у меня возникли вопросы по строкам в c#

101
Dependency Injection создает экземпляры разных типов

Dependency Injection создает экземпляры разных типов

У меня есть сервис по работе с JWT

97
DataGridView извлечение информации

DataGridView извлечение информации

Курил форумы и встал вопрос :

107