¿Crear un tipo anónimo dinámicamente?

Quiero crear un tipo anónimo que pueda establecer el nombre de la propiedad de forma dinámica. no tiene que ser un tipo anónimo. Todo lo que quiero lograr es establecer los nombres de propiedades de los objetos dinámicamente. Puede ser ExpandoObject, etc. Pero el diccionario no funcionará para mí. ¿Cuáles son tus sugerencias? muchas gracias

Solo ExpandoObject puede tener propiedades dinámicas.

Editar : Aquí hay un ejemplo del uso de Expandir objeto (de su descripción de MSDN):

 dynamic sampleObject = new ExpandoObject(); sampleObject.TestProperty = "Dynamic Property"; // Setting dynamic property. Console.WriteLine(sampleObject.TestProperty ); Console.WriteLine(sampleObject.TestProperty .GetType()); // This code example produces the following output: // Dynamic Property // System.String dynamic test = new ExpandoObject(); ((IDictionary)test).Add("DynamicProperty", 5); Console.WriteLine(test.DynamicProperty); 

Puede lanzar ExpandoObject a un diccionario y rellenarlo de esa manera, luego las teclas que configure aparecerán como nombres de propiedad en ExpandoObject …

 dynamic data = new ExpandoObject(); IDictionary dictionary = (IDictionary)data; dictionary.Add("FirstName", "Bob"); dictionary.Add("LastName", "Smith"); Console.WriteLine(data.FirstName + " " + data.LastName);