Использование 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));