У меня есть класс ActiveRecord Castle с свойством DateTime. Я импортировать данные из текстового файла, и хотел бы быть в состоянии сделать что-то вроде этого:Автоматическое преобразование типа с замком Свойства ActiveRecord
string date_started = "09/25/2009";
MyClass myclass = new MyClass;
myclass.date_started = date_started;
На финальном задании, за кулисами, было бы идеально проверить тип date_started
, и если это DateTime, выполните задание, в противном случае выполните Convert.ToDateTime(date_started)
.
Я не могу переопределить accessors [*], а неявные операторы работают только при преобразовании в класс или из него. Я попытался расширить DateTime с неявным преобразованием оператора, но обнаружил, что он был запечатан. Теперь я очень несчастный динамический программист, застрявший в статически типизированном мире.
Я мог бы, конечно, проверить «вручную», но я создаю много разных объектов со многими свойствами и надеялся, что сможет их переплетать (используя отражение), не требуя особых свойств специальной обработки. Я мог бы определить свои собственные пользовательские аксессоры, но для этого снова требуется специальная обработка при назначении, так как они должны использоваться как методы (setX(val)
), а не свойства (X = val
).
Может ли C# (2.0) или Castle ActiveRecord предложить мне любой чистый способ получить преобразование String -> DateTime в фоновом режиме?