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

  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • olinerd

    olinerd

    23 AĞUSTOS 2007
  • ThisWeekYT

    ThisWeekYT

    14 Mart 2013