Как использовать Generics чтобы метод возвращал разные типы переменных? Уже 3 мой вопрос по этой теме, но видимо я не корректно пишу...
Задача такова - надо создать метод чтобы с помощью Generics он определял тип возвращаемых данных, чтобы это можно было бы использовать как-то так:int a;
string b;
void _Method()
{
a = RandomClass.Method();
b = RandomClass.Method();
}
при этом код метода Method должн быть примерно:Method(){
//?
}

21 Авг 2019 в 07:00
191 +1
0
Ответы
1

Для решения данной задачи нужно воспользоваться Generics. Вы можете создать обобщенный метод, который будет возвращать значение определенного типа. Например:

public class RandomClass
{
public static T Method<T>()
{
if (typeof(T) == typeof(int))
{
return (T)(object)1; // возвращаем int
}
else if (typeof(T) == typeof(string))
{
return (T)(object)"hello"; // возвращаем string
}
else
{
throw new InvalidOperationException("Unsupported type");
}
}
}

Использование данного метода будет выглядеть так:

int a = RandomClass.Method<int>();
string b = RandomClass.Method<string>();
Console.WriteLine(a);
Console.WriteLine(b);

При вызове метода Method<int>() он вернет целочисленное значение 1, а при вызове Method<string>() - строку "hello".

Таким образом, обобщенный метод с помощью Generics позволяет возвращать разные типы переменных в зависимости от типа, указанного при вызове метода.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир