Нет, это невозможно.
Анонимный тип предназначен для внутреннего использования как легкий транспортный объект. В тот момент, когда вам потребуется больше функциональных возможностей, чем предоставляет небольшой синтаксис, вы должны реализовать его как обычный именованный тип.
Такие вещи, как наследование и реализации интерфейса, атрибуты, методы, свойства с кодом и т. Д. Невозможно.
Даже если бы вы могли это сделать, вы почти наверняка не захотели бы этого, поскольку метод знал бы все об анонимном классе (то есть нет инкапсуляции, а также не дает никакого преимущества в доступе к вещам косвенно).
С другой стороны, я подумал о том, как такая функция может выглядеть (потенциально полезной, если я хочу передать анонимно типизированный объект методу, ожидающему определенный интерфейс ... или я так думал).
Самым минимальным синтаксисом для анонимного типа, наследующего интерфейс IFoo, будет что-то вроде
new {IFoo.Bar = 2} // if IFoo.Bar is a property
or
new {IFoo.Bar() = () => do stuff} if IFoo.Bar is a method
Но это простой случай, когда IFoo имеет только одно свойство или метод. Как правило, вам придется реализовать все членов IFoo; включая свойства и события чтения / записи, что в настоящее время невозможно даже для анонимно типизированных объектов.