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 に答える