Может ли генератор исходного кода генерировать методы с анонимными типами в качестве параметров?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Может ли генератор исходного кода генерировать методы с анонимными типами в качестве параметров?

Сообщение Anonymous »


Может ли генератор исходного кода сканировать сборку на предмет используемых анонимных типов и генерировать методы расширения специально для этих типов?

Например, у вас есть следующий код

var anon = new { Test = 123;} анон.SomeExtensionMethod(); // SomeExtensionMethod (пока) не существует Можно ли использовать генератор исходного кода для создания SomeExtensionMethod?

Я попробовал. Информация об имени и типе анонимного типа доступна при запуске генераторов исходного кода. Однако их имя содержит символы, недопустимые в коде, созданном не компилятором, поэтому моя попытка привела к чему-то вроде

публичный статический класс SourceGeneratedCode { public static void SomeExtensionMethod(this global:: value) { } } Что, конечно, не скомпилируется. Вот мне и интересно, можно ли как-нибудь это сделать?

Мне хотелось бы создать разные реализации этого метода для разных анонимных типов; это означает, что SomeExtensionMethod не может просто принимать object или быть универсальным или что-то в этом роде.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»