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ş:
Genel tür parametre kovaryans ve birde...
Genel yöntem birden fazla(VEYA) türü k...
Genel bir parametre olarak yazın mümkü...
&Quot;T genel Bir dizi varargs bir par...
Nasıl bir C arayüzü kullanabilir miyim...