2012-03-14 24 views
63

Genel bir sınıf için varsayılan kurucu uygulamak C# 'de yasak mı?Genel bir sınıf için varsayılan kurucu için sözdizimi nedir?

Değilse, neden aşağıdaki kod neden derlenmiyor? (<T>'u kaldırdığımda derler)

Genel bir sınıf için varsayılan kurucu tanımlamanın doğru yolu nedir?

Derleme zamanı hatası

public class Cell<T> 
{ 
    public Cell<T>() 
    { 
    } 
} 
. Hata 1 Geçersiz simge '(' sınıf, yapı veya arabirim üyesi bildirimi

cevap

109

Sen kurucusundaki türü parametresi vermeyin Bu nasıl yapmalısınız .

public class Cell<T> 
{ 
    public Cell() 
    { 
    } 
} 
+1

+1, hepsi bunun için var :) –

3

bunu Ve eğer bir özellik olarak Type gerekirse:

public class Cell<T> 
{ 
    public Cell() 
    { 
     TheType = typeof(T); 
    } 

    public Type TheType { get;} 
} 
İlgili konular