我目前正在使用Reflection.Emit生成动态类型。
我有大部分需要工作但需要在构造函数中设置默认属性值。
到目前为止,我已经使用了Integers和Strings这样的工作(例如简化):
ctorDefaultIL.Emit(OpCodes.Ldstr, "Hello World");
ctorDefaultIL.Emit(OpCodes.Ldc_I4, 42);
这很有效,我的问题是如何设置DateTime值。
答案 0 :(得分:3)
感谢@leppie将来的参考资料,这是我最终使用的代码。 对于某些上下文,这将被传递到另一个方法:
ctorDefaultIL.Emit(OpCodes.Ldc_I8, dateVal.Ticks);
ctorDefaultIL.Emit(OpCodes.Newobj,
typeof(DateTime).GetConstructor(new[] { typeof(long) }));