Как сделать метод, которй принимат в один параметр объект одного из двух типов?

164
27 августа 2018, 23:50

Есть класс с одним методом:

class A 
{
   public object Fill(HttpCLient / HttpWebRequest param)
   {
        //логика
   }
}

Как сделать так, чтобы в параметр метода objectFill можно было передавать либо HttpCLient либо HttpWebRequest ?

Я пытался делать через T но не получилось.

Спасибо

Answer 1

Определите интерфейс, с которым будете работать в методе Fill и в двух классах реализуйте этот интерфейс, в одном с помощью HttpClient, во втором с помощью HttpWebRequest и передавайте в метод Fill экземпляры этих классов.

Пример с generic:

public void Fill<T>(T client)
{
    if(typeof(T) == typeof(HttpClient))
    {
        (client as HttpClient)?.GetAsync();
    }
    if (typeof(T) == typeof(HttpWebRequest))
    {
        (client as HttpWebRequest)?.GetResponseAsync();
    }
}
READ ALSO
Использование Scrypt и Bcrypt C#

Использование Scrypt и Bcrypt C#

Как использовать Scrypt или Bcrypt в C#Прошерстил несколько сайтов и форумов, но не вижу никаких объяснений, как скачать и установить библиотеку...

212
Шанс выпадение предметов(drop chance) в Unity3d

Шанс выпадение предметов(drop chance) в Unity3d

Сразу говорю, что ответ, скорее всего, лежит у меня перед глазами, но я его, как обычно, не вижу(А ещё, скорее всего, я запутался xD) Есть код, в котором...

218
Unity, посмотреть туда, куда смотрит камера

Unity, посмотреть туда, куда смотрит камера

Есть скрипт для оружияМы пускаем рейкаст, и когда попадаем им, смотрим на точку попадения

193
Проверка значения на &ldquo;старость&rdquo;

Проверка значения на “старость”

Есть переменнаяОна в бесконечном цикле выдаёт значения типа:

184