Как можно вытащить type содержайщийся внутри List в переменную и использовать для др переменной?

В C# для извлечения типа, содержащегося внутри объекта типа List, вы можете использовать метод GetType(). Этот метод возвращает объект Type, который представляет тип элементов, содержащихся в списке. Вы можете сохранить этот объект Type в переменную и использовать его для создания другого объекта или выполнения других операций, зависящих от типа.

Ниже приведен пример кода, который демонстрирует, как получить тип элементов списка и использовать его для создания нового объекта:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; // Пример списка с целочисленными элементами

Type listType = numbers.GetType(); // Получаем тип списка

Console.WriteLine("Тип элементов списка: " + listType.GetGenericArguments()[0]); // Выводим тип элементов списка

// Используем тип элементов списка для создания нового объекта
object newObject = Activator.CreateInstance(listType.GetGenericArguments()[0]);
Console.WriteLine("Новый объект типа " + newObject.GetType() + " создан.");

В этом примере мы создаем список numbers, содержащий целочисленные элементы. Мы используем метод GetType() для получения типа списка. Затем мы используем метод GetGenericArguments()[0] для получения типа элементов списка. Обратите внимание, что GetGenericArguments() возвращает массив типов, поскольку список может быть обобщенным и содержать несколько типов. В данном случае мы берем первый (и единственный) тип из массива.

Далее, мы используем полученный тип элементов списка для создания нового объекта, используя метод Activator.CreateInstance(). Полученный объект сохраняем в переменную newObject и выводим информацию о его типе.

Это всего лишь один из способов работы с типами элементов списка в C#. В зависимости от вашего конкретного случая использования, может быть также полезно обратить внимание на другие методы и свойства класса Type, такие как GetProperties() и GetMethods(), для выполнения дополнительных операций с типом.