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

  • graham025

    graham025

    25 NİSAN 2006
  • Hallucination Land

    Hallucinatio

    14 Ocak 2011
  • HTC

    HTC

    12 Ocak 2006