2012-05-30 43 views
2

我目前正在使用Reflection.Emit生成動態類型。C#反射:發射日期時間屬性值

我有我需要的大部分工作,但需要在構造函數中設置默認屬性值。

到目前爲止我得到這個通過使用例如用於整數和字符串(減少簡潔):

ctorDefaultIL.Emit(OpCodes.Ldstr, "Hello World");

ctorDefaultIL.Emit(OpCodes.Ldc_I4, 42);

這完美的作品,我的問題是我會怎麼走關於設置日期時間值。

+2

發出對構造函數的調用。 – leppie

+0

發佈您的解決方案作爲答案。然後將其標記爲解決方案:)您找到答案,您值得代表:p – leppie

+0

感謝@leppie的提示 – gsobocinski

回答

3

感謝@leppie for future ref這是我最終使用的代碼。 對於某些上下文,這是通過另一種方法:

ctorDefaultIL.Emit(OpCodes.Ldc_I8, dateVal.Ticks); 
ctorDefaultIL.Emit(OpCodes.Newobj, 
    typeof(DateTime).GetConstructor(new[] { typeof(long) }));