Надругательство над анонимными типами C#
Oct. 14th, 2012 11:33 pmhttps://gist.github.com/3889274
Захотелось с веб-сервиса вернуть результат произвольного LINQ запроса, а у меня по протоколу любой набор данных умеет и метаданные (набор параметров запроса и полей) и данные (собственно список записей).
Для того, чтобы автоматом сгенерить список полей из анонимного типа, пришлось надругаться над выводилкой типов C#. Т.е. запросу для получения метаданных выполнятся не обязательно - все в compile-time сохраняется, остается только получить доступ к типу.
Захотелось с веб-сервиса вернуть результат произвольного LINQ запроса, а у меня по протоколу любой набор данных умеет и метаданные (набор параметров запроса и полей) и данные (собственно список записей).
Для того, чтобы автоматом сгенерить список полей из анонимного типа, пришлось надругаться над выводилкой типов C#. Т.е. запросу для получения метаданных выполнятся не обязательно - все в compile-time сохраняется, остается только получить доступ к типу.
no subject
Date: 2012-10-15 04:43 am (UTC)no subject
Date: 2012-10-15 04:50 am (UTC)Но надругательство над тайпчекером веселее :)
no subject
Date: 2012-10-15 07:41 am (UTC)(new { a = 1, b = "foo" }).GetType() ?
no subject
Date: 2012-10-15 07:46 am (UTC)