Нет проблем. Удачи.

сновная задача - получить типы данных от анонимного типа, сгенерированного из запроса LINQ to SQL.

У меня есть фрагмент кода (более умный, чем я мог бы написать, поскольку я на самом деле не углубился в рефлексию), который возвращает типы данных от анонимных типов и отлично работает для элементов, помеченных как «не обнуляемые» в свойствах linq2sql. Итак, если у меня есть строка, она вернется как System.String. Однако, когда элемент обнуляется, я получаю «полное имя»:

{Name = "Nullable1" FullName = "System.Nullable1 [[System.Decimal, mscorlib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089]] "}

Все, что я хочу извлечь, это тип System.Decimal в таком случае (и в случае строк или чего-то еще, я бы просто хотел System.String). Я просмотрел свойства и не могу найти ничего, что могло бы хранить это.

    private static Dictionary<string, Type> GetFieldsForType<T>(IEnumerable<T> data)
    {
        object o = data.First();

        var properties = o.GetType().GetProperties();

        return properties.ToDictionary(property => property.Name, property => property.PropertyType);
    }

Запрос LINQ (который, я думаю, здесь не имеет значения):

var theData = from r in db.tblTestEdits select new { myitem = r.textField, mydecimal = r.decimalField }; 

Я нашел эту ссылку, которая, кажется, пытается обратиться к аналогичной вещи.
http://ysgitdiary.blogspot.com/2010/02/blog-post.html

Хотя кажется, что она возвращает «строку» того, что является типом, а не фактическим типом, что мне и нужно. Не уверен, как конвертировать такую ​​вещь.

Большое спасибо всем.

Ответы на вопрос(2)

Ваш ответ на вопрос