我目前正在使用 Reflection.Emit 生成动态类型。
我已经完成了大部分需要的工作,但是需要在构造函数中设置默认属性值。
到目前为止,我已经通过使用示例(为简洁起见而简化)对整数和字符串进行了此操作:
ctorDefaultIL.Emit(OpCodes.Ldstr, "Hello World");
ctorDefaultIL.Emit(OpCodes.Ldc_I4, 42);
这非常有效,我的问题是如何设置日期时间值。
最佳答案
感谢@leppie future 的引用,这是我最终使用的代码。 对于某些上下文,这被传递到另一个方法中:
ctorDefaultIL.Emit(OpCodes.Ldc_I8, dateVal.Ticks);
ctorDefaultIL.Emit(OpCodes.Newobj,
typeof(DateTime).GetConstructor(new[] { typeof(long) }));
关于C# 反射 : Emit DateTime Property Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823680/