2

我目前正在使用 Reflection.Emit 生成动态类型。

我有我需要工作的大部分,但是需要在构造函数中设置默认属性值。

到目前为止,我已经通过使用例如(为了简洁而减少)来为整数和字符串工作:

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

ctorDefaultIL.Emit(OpCodes.Ldc_I4, 42);

这非常有效,我的问题是我将如何设置 DateTime 值。

4

1 回答 1

3

感谢@leppie 的未来参考这是我最终使用的代码。对于某些上下文,这被传递给另一个方法:

ctorDefaultIL.Emit(OpCodes.Ldc_I8, dateVal.Ticks);
ctorDefaultIL.Emit(OpCodes.Newobj, 
  typeof(DateTime).GetConstructor(new[] { typeof(long) }));
于 2012-05-31T09:06:25.647 回答