2009-01-04 90 views
11

有没有办法用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"); 

之前使用前导空格但这似乎是最好的解决方法。

回答

0

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