c# – CodeDom泛型类型约束

有没有办法使用CodeDom生成类约束.

因为当我使用类似的东西

var method = new CodeMemberMethod();
var genericParam = new CodeTypeParameter("InterfaceType");
genericParam.Constraints.Add("class");
method.TypeParameters.Add(genericParam);

生成的代码就像

private InterfaceType GetImpl<InterfaceType>()
    where InterfaceType : @class
{
}

我发现最好的解决方法是在课前使用一个领先的空白

genericParam.Constraints.Add(" class");

但这似乎是一个解决方法.

解决方法

似乎没有明确的方式来指定该约束.既不是 for the “struct” constraint.

对于“T:new()”约束,使用标志HasConstructorConstraint

其余的使用CodeTypeReference,如this msdn example.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...