/// <summary> /// Преобразует строку в экземпляр класса <see cref="Socks5ProxyClient"/>. Возвращает значение, указывающее, успешно ли выполнено преобразование. /// </summary> /// <param name="proxyAddress">Строка вида - хост:порт:имя_пользователя:пароль. Три последних параметра являются необязательными.</param> /// <param name="result">Если преобразование выполнено успешно, то содержит экземпляр класса <see cref="Socks5ProxyClient"/>, иначе <see langword="null"/>.</param> /// <returns>Значение <see langword="true"/>, если параметр <paramref name="proxyAddress"/> преобразован успешно, иначе <see langword="false"/>.</returns> // ReSharper disable once UnusedMember.Global public static bool TryParse(string proxyAddress, out Socks5ProxyClient result) { if (!ProxyClient.TryParse(ProxyType.Socks5, proxyAddress, out var proxy)) { result = null; return(false); } result = proxy as Socks5ProxyClient; return(true); }
/// <inheritdoc /> /// <summary> /// Инициализирует новый экземпляр класса <see cref="!:Leaf.xNet.Net.ProxyException" /> заданным сообщением об ошибке и прокси-клиентом. /// </summary> /// <param name="message">Сообщение об ошибке с объяснением причины исключения.</param> /// <param name="proxyClient">Прокси-клиент, в котором произошла ошибка.</param> /// <param name="innerException">Исключение, вызвавшее текущие исключение, или значение <see langword="null" />.</param> public ProxyException(string message, ProxyClient proxyClient, Exception innerException = null) : base(message, innerException) { ProxyClient = proxyClient; }