Tôi có một lớp mà tôi tạo ra sử dụng CodeDOM:Làm thế nào để tạo một lớp chung bằng cách sử dụng CodeDOM có tham số chung là một kiểu mà tôi đã tạo?
CodeTypeDeclaration some_class = new CodeTypeDeclaration("SomeClass");
// ... properties and methods creation elided
Tôi muốn tạo ra một danh sách của "SomeClass" loại. Tuy nhiên, tôi dường như không thể làm như vậy:
var list_type = new CodeTypeReference(typeof (List<>).Name, ??? some_class ???);
var member_field = new CodeMemberField(list_type, field_name)
{
Attributes = MemberAttributes.Private,
};
CodeTypeReference không chấp nhận một CodeTypeDeclaration
, đó là những gì tôi cần. Tôi có thể làm gì? Tôi không muốn chuyển tên lớp thành chuỗi, vì điều này có thể dẫn đến lỗi.
Làm thế nào sẽ đi qua thuộc tính Name của việc kê khai loại được bất kỳ d ifferent từ việc sử dụng thuộc tính tên của typeof (List <>)? – tyranid
@tyranid 'typeof (danh sách <>)' dựa trên sự phản chiếu để lấy tên; nhưng tôi thấy quan điểm của bạn ... Tôi có thể sử dụng list_type.Name, phải không? –