Преобразование типов C#?

Привет. Нужно преобразовать строку в DateTime. Зачем мне это нужно? Если класс с множеством свойств. Одним из таких свойств является DateTime. Экземпляр класса я преобразую в JSON в ручную. В JSON в свойство Date (который в классе у меня был типа DateTime) записывает такая строка полученная от DateTime.ToString(). После каких либо изменений с данными JSON мне нужно его обратно преобразовать в DateTime. В принципе могу сказать, что в теле метода будет DateTim.Parse(str). Как это сделать именно с помощью implicit и explicit?

PS: Обратное преобразование JSON -> MyType происходит с помощью new JavaScriptSerializer().Deserialize()
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 2
@Oxoron
Шарпер
Никак.
Перегрузка операторов возможна только когда входящий или выходящий тип принадлежат классу, в котором объявлены.
Но можно сделать обертку. Тут пример про decimal. IXmlSerializer оттуда тебе не нужен. Операторы перегрузишь как для строки, так и для DateTime.
Для DateTiee.Parse() доки и примеры тут.
Будет что-то вроде
string format = "yyyyMMdd hh:mm:ss";
DateTime result = DateTime.Parse(arg, format);
Ответ написан
Комментировать
@MonkAlex
C#, SQL, Delphi, C++ etc
А можно попробовать newtonsoft.json, который сам разберется, как перегнать дату в обоих направлениях. Делать такое руками - писать стопроцентный велосипед с граблями.

ПС: может и JavaScriptSerializer дефолтный умеет, не в курсе.
Ответ написан
Ваш ответ на вопрос

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

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