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

  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008