Anonim tipte bir arabirim uygulamak mümkün müdür?
Çalışmak istediğim bir kod parçam var, ama bunu nasıl yapacağımı bilmiyorum.
Hayır diyen ya da arayüzün yeni örneklerini inşa eden bir sınıf yaratan birkaç cevap aldım. Bu gerçekten ideal değil, ama bunu basitleştirecek bir arayüzün üstünde ince bir dinamik sınıf oluşturmak için bir mekanizma olup olmadığını merak ediyorum.
public interface DummyInterface
{
string A { get; }
string B { get; }
}
public class DummySource
{
public string A { get; set; }
public string C { get; set; }
public string D { get; set; }
}
public class Test
{
public void WillThisWork()
{
var source = new DummySource[0];
var values = from value in source
select new
{
A = value.A,
B = value.C + "_" + value.D
};
DoSomethingWithDummyInterface(values);
}
public void DoSomethingWithDummyInterface(IEnumerable<DummyInterface> values)
{
foreach (var value in values)
{
Console.WriteLine("A = '{0}', B = '{1}'", value.A, value.B);
}
}
}
Bir yaklaşım açıklayan bir dinamik arayüz kaydırma makalesi buldum . Bunu yapmanın en iyi yolu bu mu?