Перейти к содержанию

Как преобразовать универсальный тип [C#]

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


В C# вы можете использовать метод TryParse для разбора строки в параметр общего типа. Однако, поскольку TryParse является статическим методом встроенных типов, таких как int, double и т.д., его нельзя использовать непосредственно с параметрами общих типов.

Одно из решений — использовать ограничение типа, чтобы убедиться, что параметр общего типа T является ссылочным типом и реализует интерфейс IConvertible.

Интерфейс IConvertible определяет методы преобразования значения в различные распространенные типы, включая строку, и обратно. Затем вы можете использовать метод Convert.ChangeType() для преобразования разобранного значения к типу T.

Вот пример реализации общего метода TryParse, использующего эти приемы:

В этом примере метод TryParse принимает строку s и выходной параметр result типа T. Ограничение where T : class, IConvertible гарантирует, что T является ссылочным типом и реализует интерфейс IConvertible.

Внутри метода используется метод Convert.ChangeType для преобразования разобранного значения к типу T. Если преобразование прошло успешно, разобранное значение присваивается параметру result, и метод возвращает true. В противном случае метод возвращает false.

Вот пример использования метода GenericParser.TryParse для разбора строки в параметр универсального типа:

 

Опубликовано в рубрикеОтветы на Вопросы C#
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x