Создание классов из анонимных типов в C # [закрыто]

17

Существуют ли какие-либо инструменты, которые могут генерировать классы из анонимных типов?

У меня сложная структура данных, которую я создал с использованием анонимных типов. Я хотел бы использовать эту структуру данных в других местах, где анонимный тип будет недоступен. Вот почему я ищу такой инструмент генерации кода.

    
задан Ronnie Overby 05.06.2011 в 15:38
источник

4 ответа

16

Это один из рефакторингов , поддерживаемый Resharper . При вложенных анонимных типах (где один анонимный тип имеет свойства другого анонимного типа), вам просто нужно будет преобразовать внутренние типы, прежде чем вы получите возможность конвертировать внешний.

    
ответ дан Jonathan Rupp 05.06.2011 в 15:44
источник
16

Я нашел другой способ, который делает это без использования Resharper. Он протестирован на VS 2015.

Предположим, что у вас есть анонимный тип:

return new
{
    Prop = "val"
};

Просто дайте ему имя, вот так

return new AnonType
{
    Prop = "val"
};

, после чего рядом с первой строкой появляется лампочка, и когда вы нажимаете на нее, она показывает параметры, которые будут генерировать этот класс для вас, где бы вы ни хотели.

Здесь вы можете видеть, о чем я говорю.

    

ответ дан Ahmad 27.03.2017 в 12:23
источник
8

Resharper - конвертировать анонимный в именованный тип

  

Преобразование анонимных имен в именный тип рефакторинга преобразует анонимный   типов для вложенных или именных типов верхнего уровня в рамках   текущий метод (локально) или целое решение (глобально). в   диалоговое окно, которое предоставляет этот рефакторинг, вы также можете указать   должен ли ReSharper генерировать автоматические свойства или свойства с помощью   поля поддержки и выбор метода равенства и форматирования   переопределение.   

    
ответ дан Alireza Maddah 24.06.2013 в 15:54
источник
0

CodeRush поддерживает это с помощью рефакторинга имен анонимного типа .     

ответ дан Robert MacLean 24.06.2013 в 15:45
источник