2012-05-30 2 views
2

В настоящее время я работаю с генерацией динамических типов с использованием Reflection.Emit.C# Reflection: Emit DateTime Значение свойства

У меня есть большая часть того, что мне нужно, однако нужно установить значения свойств по умолчанию в конструкторе.

Я до сих пор получил эту работу для Целых и струнных инструментов, используя, например, (восстановленный для краткости):

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

ctorDefaultIL.Emit(OpCodes.Ldc_I4, 42);

Это отлично работает, мой вопрос, как я пошел бы об установке значения DateTime.

+2

Извлечь вызов конструктору. – leppie

+0

Отправьте свое решение в качестве ответа. Тогда отметьте это как решение :) Вы нашли ответ, вы заслужили репутацию: p – leppie

+0

Спасибо @leppie за подсказку – gsobocinski

ответ

3

Спасибо @leppie для будущего ref здесь код, который я использовал. В каком-то контексте это передается другим способом:

ctorDefaultIL.Emit(OpCodes.Ldc_I8, dateVal.Ticks); 
ctorDefaultIL.Emit(OpCodes.Newobj, 
    typeof(DateTime).GetConstructor(new[] { typeof(long) })); 
Смежные вопросы