Я создал свойство строитель, используя PropertyBuilder
(который находится внутри типа, построенный с TypeBuilder, и, как вы можете догадаться, находится внутри модуля. Так далее, и так далее до собрания)C# PropertyBuilder: как установить значение?
Я хотел бы установить значение моего свойства (в данном случае Dictionary<string,object>
) после того, как я только что построил его. Он имеет метод SetValue
, но я получаю первый аргумент (Object obj: значение объекта, которое я устанавливаю).
Вот что у меня есть:
Dictionary<string,Object> expectations = new Dictionary<string,object>();
PropertyBuilder builder = typeBuilder.DefineProperty("Expectations",
PropertyAttributes.HasDefault,
typeof(Dictionary<string, Object>), null);
//builder.SetValue(???)
return builder;
Am I даже в правильном направлении?
UPDATE
Ok, поэтому параметр Object SetValue является объект, который имеет свойство значения Я пытаюсь установить. Однако, хотя я определил свойство через TypeBuilder
, он не создан (поскольку вам нужно позвонить CreateType()
и создать его экземпляр).
Длинная история короткая? Сначала определите все, затем создайте его, затем назначьте значения через SetValue
, используя созданный объект в качестве первого параметра.
Можете ли вы показать 'builder.SetValue', что вы пробовали? –
Вы ответили на свой вопрос? Если да, добавьте его в раздел «Ответы» и отметьте вопрос как ответ. – jklemmack