SORU
10 EKİM 2008, Cuma


Bir C# anonim sınıfı uygulamak bir arabirim?

Bir anonim tür bir arabirim uygulamak için mümkün. Çalışmak istiyorum bu kodu bir parça var, ama bunu yapmak için nasıl bilmiyorum.

Ya hayır söyle, ya da arayüzü bu yeni örneklerini oluşturmak uygulayan bir sınıf oluşturmak birkaç cevap aldım. Bu gerçekten ideal değil, ama eğer bu basit hale getiren bir arabirim üzerine ince dinamik bir sınıf oluşturmak için bir mekanizma varsa 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 makale Dynamic interface wrapping buldum. Bu bunu yapmanın en iyi yolu nedir?

CEVAP
10 EKİM 2008, Cuma


Hayır, anonim tip arayüz uygulayamaz. C# programming guide:

Anonim türleri ya da daha genel bir oluşmaktadır salt-okunur özellikler bu sınıf türleri vardır. Yöntemler ve olaylar gibi sınıf üyelerini başka türlü izin verilir. İsimsiz bir nesne türü dışında herhangi bir arayüz veya türe atanamaz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • LAHWF

    LAHWF

    5 Kasım 2009
  • Mega64

    Mega64

    24 ŞUBAT 2006