dmc1989
@dmc1989

Как задать список типов для дженерика в c#?

Как правильно реализовать такой клас? Заранее спасибо

class Text<T> where (ulong | uint | byte)
    {
        private byte maxCharIndex = 255;

        public string generateText(T textLength = 1)
        {
            char[] chars = new char[textLength];
            Random r = new Random();

            for (T i = 0; i < textLength; i++)
            {
                chars[i] = Convert.ToChar(r.Next(0, maxCharIndex));
            }

            return new string(chars);
        }
    }
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Никак. С# так не умеет

В этом случае можно без женерика - просто int.
class Text {
            private static byte maxCharIndex = 255;

        public static string generateText(int textLength = 1)
        {
            char[] chars = new char[textLength]; // всё равно размер для массивов задаётся интом
            Random r = new Random();

            for (T i = 0; i < textLength; i++)
            {
                chars[i] = Convert.ToChar(r.Next(0, maxCharIndex));
            }

            return new string(chars);
        }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы