Динамическая загрузка словарей KVP в анонимные типы - PullRequest
0 голосов
/ 22 сентября 2011

Я хочу загрузить все KeyValuePairs в Dictionary<string, string> в анонимные типы во время выполнения. Там не будет знания раньше времени содержание словаря.

Dictionary<string, string> callParams = new Dictionary<string, string>();

logger.WithParams(() => new { Val1= val1, Val2= val2, Val3= val3 });

Как я могу добавить KVP callParams к набору анонимных типов?

1 Ответ

2 голосов
/ 22 сентября 2011

Не совсем понятно, что вы имеете в виду - но если вы пытаетесь заставить имена свойств зависеть от ключей в словаре, вам не повезло: анонимные типы созданы для вас компилятором во время компиляции с указанными вами именами свойств. Если вы не знаете ключи до времени выполнения, у вас не может быть анонимных типов ...

Если вы используете .NET 4, вы потенциально можете использовать ExpandoObject и динамическую типизацию ... но какая здесь более широкая картина? Почему вы не можете просто передать словарь как есть?

...