public static BinEncoding StrToBinEncoding(String strEncoding) { BinEncoding encoding = null; switch (strEncoding) { case "Прямой": encoding = new DirectEncoding(); break; case "Обратный": encoding = new ReversEncoding(); break; case "Дополнительный": encoding = new AdditionalEncoding(); break; default: throw new ArgumentException("Неверное строковое значение кодировки!"); } return encoding; }
public static BinEncoding GenerateRandomEncoding() { BinEncoding randomBinEncoding = null; int iEncoding = new Random((int)DateTime.Now.Ticks).Next(0, 10000) % 3; switch (iEncoding) { case ENCODING_DIRECT: randomBinEncoding = new DirectEncoding(); break; case ENCODING_REVERS: randomBinEncoding = new ReversEncoding(); break; case ENCODING_ADDITIONAL: randomBinEncoding = new AdditionalEncoding(); break; default: throw new ArgumentException("Ошибка во время генерации случайной кодировки бинарного числа! "); } return randomBinEncoding; }