Использование enum как флага установки типа Proxy - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Задача простая, уже решал, но что-то сейчас 2й день встал на ней Суть - есть очередь объявленная глобально.
Queue<MyProxy> proxies = new Queue<MyProxy>();
нужно каждому элементу очереди присваивать 2 значения: 1) string ип_адресс_порт, 2) enum? или другой способ для задания типа прокси (HTTP,Socks4,Socks5) вот класс
        class MyProxy
        {
            //[Flags]
            public enum ProxyTypes
            {
                HTTP ,
                Socks4 ,
                Socks5 ,
            }
 
            //public string type = null;
 
            public const int StartErrors = 2;
            public const int MaxErrors = 5;
 
            public int ErrorsCount { get; set; }
            public string adress_port;
 
            public MyProxy(string addressAndPort, ProxyTypes Ptype)
            {
                adress_port = addressAndPort;
                ErrorsCount = StartErrors;
            }
        }
пример использования (точнее, хотелось бы как-то так)
        private string ReqProxy(MyProxy p)
        {
                    MyProxy p = new MyProxy("127.0.0.1:8888", MyProxy.ProxyTypes.HTTP);
 
                    if (p.ProxyTypes.HTTP) { request.Proxy = HttpProxyClient.Parse(p.adress_port); }
                    else if (p.ProxyTypes.Socks4) { request.Proxy = Socks4ProxyClient.Parse(p.adress_port); }
                    else if (p.ProxyTypes.Socks5) { request.Proxy = Socks5ProxyClient.Parse(p.adress_port); }
                    else { request.Proxy = HttpProxyClient.Parse(p.adress_port); }
        }
(для экземпляра MyProxy p правда нельзя вызвать p.ProxyTypes, написал так только для примера.) как это правильно сделать?

Решение задачи: «Использование enum как флага установки типа Proxy»

textual
Листинг программы
Queue<MyProxy> proxies = new Queue<MyProxy>();
proxies.Enqueue(new MyProxy("127.0.0.1:8888", MyProxy.ProxyTypes.HTTP));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы