Я хочу взять анонимный объект в качестве аргумента для метода, а затем перебрать его свойства, чтобы добавить каждое свойство/значение в динамический ExpandoObject
.
Итак, мне нужно перейти от
new { Prop1 = "first value", Prop2 = SomeObjectInstance, Prop3 = 1234 }
чтобы знать имена и значения каждого свойства и быть в состоянии добавить их в ExpandoObject
.
Как это сделать?
Боковое примечание. Это будет сделано во многих моих модульных тестах (я использую его для реорганизации большого количества нежелательной почты в настройке), поэтому производительность в некоторой степени актуальна. Я не знаю достаточно о том, чтобы отразить, чтобы сказать наверняка, но из того, что я понял, это довольно высокая производительность, поэтому, если это возможно, я бы предпочел избежать этого...
Последующий вопрос:
Как я уже сказал, я рассматриваю этот анонимный объект как аргумент метода. Какой тип данных следует использовать в сигнатуре метода? Будут доступны все свойства, если я использую object
?