2012-03-14 41 views
63

Có bị cấm trong C# để triển khai một hàm tạo mặc định cho một lớp chung không?Cú pháp cho một hàm tạo mặc định cho một lớp chung là gì?

Nếu không, tại sao mã bên dưới không biên dịch? (Khi tôi xóa <T> nó sẽ biên dịch)

Cách chính xác để xác định hàm tạo mặc định cho một lớp chung là gì?

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

Compile Time Lỗi:. Lỗi 1 thẻ không hợp lệ '(' trong lớp, struct, hoặc giao diện thành viên khai

Trả lời

109

Bạn không cung cấp các tham số gõ vào constructor Đây là cách bạn nên làm điều đó

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

+1, đó là tất cả để có nó :) –

3

Và nếu bạn cần Type như một thuộc tính:.

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

    public Type TheType { get;} 
} 
Các vấn đề liên quan