CodeDomgenerics类型约束

有没有办法用CodeDom生成类约束。

因为当我使用类似的东西

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

生成的代码就像

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

我发现最好的解决方法是在课前使用前导空格

 genericParam.Constraints.Add(" class"); 

但这似乎充其量只是一种解决方法。

似乎没有任何直接的方式来指定该约束。 对于“struct”约束都没有。

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

对于其余部分,请使用此msdn示例中的 CodeTypeReference。

我也使用零宽度空间( "\x200Bclass" )而不是普通空间。 然后我在最后一个字符串中用空字符串替换它: .Replace("\x200B", string.Empty);