powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемма с generic
3 сообщений из 3, страница 1 из 1
Проблемма с generic
    #39805636
maxim111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
        IList LstFilter;
        Type GType;

        public void MyMethod<T>(List<T> lst)
        {
            LstFilter = new List<T>();
            GType = lst.GetType().GetGenericArguments().Single();
            
        }

        public void MyTestMethod()
        {
            var newList = new List<GType>(); // Ошибка
            var dt = new DataTable();
            dt.Columns.Add("123", GType); // А здесь ошибки нет
        }


Ошибка в MyTestMethod, пишет Не удалось найти тип или имя пространства имен "GType" (возможно, отсутствует директива using или ссылка на сборку).
Как мне использовать класс который передается в MyMethod<T>?
...
Рейтинг: 0 / 0
Проблемма с generic
    #39805638
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim111Ошибка в MyTestMethod, пишет Не удалось найти тип или имя пространства имен "GType" (возможно, отсутствует директива using или ссылка на сборку).
Как мне использовать класс который передается в MyMethod<T>?
Ну потому что GType - это не тип, а поле типа Type:
Код: c#
1.
2.
3.
int n;
...
var list = new List<n>();


- у вас практически то же самое. Если нужно получить генерик-тип с параметром, который предоставляется только как экземпляр Type, то тут только рефлекшн.
...
Рейтинг: 0 / 0
Проблемма с generic
    #39805811
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim111,

общее правило (для понимания) - тип для дженерика должен быть известен на этапе компиляции. Только в этом случае можно написать List<T> и прочее.


Сон Веры ПавловныЕсли нужно получить генерик-тип с параметром, который предоставляется только как экземпляр Type, то тут только рефлекшн.Но, как правило, это бессмысленно, проще использовать необобщенную коллекцию
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемма с generic
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]