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

21 Авг 2019 в 07:00
212 +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 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир