2010-10-19 24 views
13

này biên dịch:Làm thế nào để có được loại của một lớp chung với nhiều tham số kiểu? - C#

public class A<T> { 
    public void test() { 
     var a = typeof (A<>); 
    } 
} 

này không:

public class A<T,S> { 
    public void test() { 
     var a = typeof (A<>); 
    } 
} 

tôi nhận được lỗi: Sử dụng kiểu generic 'A' đòi hỏi 2 đối số loại

Làm thế nào để có được một tham chiếu đến loại kiểu chung này với hai đối số?

Trả lời

22

Tất cả bạn cần là một dấu phẩy:

var a = typeof (A<,>); 

Lưu ý tất nhiên rằng điều này sẽ trả về một System.Type đại diện cho cởi generic loại A. Vì mã nằm trong một phương thức thuộc về loại, bạn có thể chỉ tìm kiếm typeof (A<T, S>), tùy thuộc vào yêu cầu của bạn.

+0

doh. Cảm ơn.... – oillio

Các vấn đề liên quan