SORU
5 Aralık 2009, CUMARTESİ


Orada C parametre kısıtlaması ile genel bir kurucu#?

C# gibi genel bir yöntem üzerinde bir kısıtlama koyabilirsiniz:

public class A {

    public static void Method<T> (T a) where T : new() {
        //...do something...
    }

}

Ayrıca bir şekilde bir kısıtlama gibi koymak "halka açık bir yapıcısı vardır[,] parametre?" Aşağıdaki kod iyi derleme değildir:

public class A {

    public static void Method<T> (T a) where T : new(float[,] u) {
        //...do something...
    }

}

Ya da-geçici bir çözüm bulmak için bir var mı?

CEVAP
5 Aralık 2009, CUMARTESİ


Buldum, bunu yapamazsın.

Geçici bir çözüm olarak ben normalde bu tür nesneleri T yaratabilen bir temsilci kaynağı:

public class A {

    public static void Method<T> (T a, Func<float[,], T> creator) {
        //...do something...
    }

}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008