Использование enum как флага установки типа Proxy - C#
Формулировка задачи:
Приветствую!
Задача простая, уже решал, но что-то сейчас 2й день встал на ней
Суть - есть очередь объявленная глобально.
нужно каждому элементу очереди присваивать 2 значения:
1) string ип_адресс_порт,
2) enum? или другой способ для задания типа прокси (HTTP,Socks4,Socks5)
вот класс
пример использования (точнее, хотелось бы как-то так)
(для экземпляра MyProxy p правда нельзя вызвать p.ProxyTypes, написал так только для примера.)
как это правильно сделать?
Queue<MyProxy> proxies = new Queue<MyProxy>();
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); } }
Решение задачи: «Использование enum как флага установки типа Proxy»
textual
Листинг программы
Queue<MyProxy> proxies = new Queue<MyProxy>(); proxies.Enqueue(new MyProxy("127.0.0.1:8888", MyProxy.ProxyTypes.HTTP));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д