我有一个使用CodeDOM创建的类:
CodeTypeDeclaration some_class = new CodeTypeDeclaration("SomeClass");
// ... properties and methods creation elided
Run Code Online (Sandbox Code Playgroud)
我想创建一个"SomeClass"类型的List.但是,我似乎无法这样做:
var list_type = new CodeTypeReference(typeof (List<>).Name, ??? some_class ???);
var member_field = new CodeMemberField(list_type, field_name)
{
Attributes = MemberAttributes.Private,
};
Run Code Online (Sandbox Code Playgroud)
CodeTypeReference不接受a CodeTypeDeclaration,这是我需要的.我能做什么?我并不想通过类的字符串名字,因为这可能会导致错误.
我怕你不能.似乎没有任何方法可以创建CodeTypeReference一个CodeTypeDeclaration.我认为那是因为CodeTypeDeclaration不知道它所在的命名空间,因此没有安全的方法来做到这一点.
另一方面,在创建CodeTypeReference泛型类型时,您不需要使用泛型类型的名称:
var listType = new CodeTypeReference(typeof(List<>));
listType.TypeArguments.Add(typeof(int));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3053 次 |
| 最近记录: |