我有一個具有DateTime屬性的Castle ActiveRecord類。我從一個文本文件導入數據,並會喜歡能夠做這樣的事情:使用Castle ActiveRecord屬性自動進行類型轉換
string date_started = "09/25/2009";
MyClass myclass = new MyClass;
myclass.date_started = date_started;
在最後的分配,在幕後,那就最好檢查date_started
的類型,如果是日期時間,做任務,否則做Convert.ToDateTime(date_started)
。
轉換或從包含類時,我不能重寫訪問器[*],和隱式運營商僅工作。我試着用隱式運算符轉換來擴展DateTime,但發現它被封了。現在我是一個陷入靜態類型世界的非常不愉快的動態程序員。
我當然可以檢查「手動」,但我實例化許多不同的對象具有許多屬性,並希望能夠循環它們(使用反射),而不必給予特定屬性的特殊處理。我可以定義自己的自定義訪問器,但這又需要在賦值時進行特殊處理,因爲它們需要像方法(setX(val)
)而不是屬性(X = val
)一樣使用。
C#(2.0)或Castle ActiveRecord可以爲我提供任何干淨的方法來在後臺獲取String - > DateTime轉換嗎?