Bir C# anonim sınıfı uygulamak bir arabirim? | Netgez.com
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

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014