Анонимный тип заданного интерфейса - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Возможно ли создать анонимный тип, который бы реализовывал некий интерфейс? Например:
Листинг программы
  1. using System;
  2. public interface IFace
  3. {
  4. int f { get; }
  5. }
  6. public class Test
  7. {
  8. public static void FaceArgument( IFace o )
  9. {
  10. Console.WriteLine( o.f );
  11. }
  12. public static void Main()
  13. {
  14. var v = new // Создаем анонимный тип
  15. {
  16. f = 42 // Попытка реализовать интерфейс... неудачная.
  17. };
  18. FaceArgument( v ); // Вызов
  19. }
  20. }

Решение задачи: «Анонимный тип заданного интерфейса»

textual
Листинг программы
  1. using System;
  2.  
  3. public interface IFace
  4. {
  5.     int f { get; }
  6. }
  7.  
  8. public class Class
  9. {
  10.     private class FaceClass : IFace
  11.     {
  12.         public int f { get {return 42;} }
  13.     }
  14.    
  15.     public IFace GetSome()
  16.     {
  17.         return new FaceClass();
  18.     }
  19. }
  20.  
  21. public class Test
  22. {
  23.     public static void FaceArgument( IFace iface )
  24.     {
  25.         Console.WriteLine( iface.f );
  26.     }
  27.    
  28.     public static void Main()
  29.     {
  30.         Class c = new Class();
  31.        
  32.         FaceArgument( c.GetSome() );
  33.     }
  34. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы