Анонимный тип заданного интерфейса - C#
Формулировка задачи:
Всем привет.
Возможно ли создать анонимный тип, который бы реализовывал некий интерфейс?
Например:
using System;
public interface IFace
{
int f { get; }
}
public class Test
{
public static void FaceArgument( IFace o )
{
Console.WriteLine( o.f );
}
public static void Main()
{
var v = new // Создаем анонимный тип
{
f = 42 // Попытка реализовать интерфейс... неудачная.
};
FaceArgument( v ); // Вызов
}
}Решение задачи: «Анонимный тип заданного интерфейса»
textual
Листинг программы
using System;
public interface IFace
{
int f { get; }
}
public class Class
{
private class FaceClass : IFace
{
public int f { get {return 42;} }
}
public IFace GetSome()
{
return new FaceClass();
}
}
public class Test
{
public static void FaceArgument( IFace iface )
{
Console.WriteLine( iface.f );
}
public static void Main()
{
Class c = new Class();
FaceArgument( c.GetSome() );
}
}