SORU
24 Ocak 2011, PAZARTESİ


Kurucu-uzatma-yöntem oluşturmak mümkün mü ? nasıl?

Kurucu uzantısı bir yöntem eklemek mümkün mü ? Liste Ekle; T ^ lt istiyorum . kurucu kısmen dolu belirli bir tampon bayt belirli bir miktar almak için (kopyalama yükü sadece ilgili bayt ve benzeri olmadan)

...
public static List<T>(this List<T> l, T[] a, int n)
{
    for (int i = 0; i < n; i  )
       l.Add(a[i]);
}
...

bu yüzden kullanımı olacaktır:

List<byte> some_list = new List<byte>(my_byte_array,number_of_bytes);

Zaten AddRange bir uzantısı yöntemi ekledim:

public static void AddRange<T>(this List<T> l, T[] a, int n)
{
   for (int i = 0; i < n; i  )
       l.Add(a[i]);
}

Yapıcı olarak yapmak istiyorum. Mümkün mü ? eğer Evet - nasıl ?

CEVAP
24 Ocak 2011, PAZARTESİ


Hayır, ama eğer AddRange imza listesi örneği dönmek için değiştirdiyseniz, o zaman en azından bunu yapabilirsin

var list = new List<int>().AddRange(array, n);

zaten kurucu aşırı daha net bir şekilde görülüyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • ELawshea

    ELawshea

    26 Mayıs 2008
  • steven johns

    steven johns

    11 Mart 2011