有没有办法使用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.