Fio*_*onn 12 c# generics codedom
有没有办法用CodeDom生成类约束.
因为当我使用类似的东西
var method = new CodeMemberMethod();
var genericParam = new CodeTypeParameter("InterfaceType");
genericParam.Constraints.Add("class");
method.TypeParameters.Add(genericParam);
Run Code Online (Sandbox Code Playgroud)
生成的代码就像
private InterfaceType GetImpl<InterfaceType>()
where InterfaceType : @class
{
}
Run Code Online (Sandbox Code Playgroud)
我发现最好的解决方法是在课前使用前导空格
genericParam.Constraints.Add(" class");
Run Code Online (Sandbox Code Playgroud)
但这似乎充其量只是一种解决方法.
似乎没有直接的方法来指定该约束.对于"struct"约束都没有.
对于"T:new()"约束,请使用该标志 HasConstructorConstraint
对于其余部分,请使用此msdn示例中的 CodeTypeReference .