繁体   English   中英

CodeDom泛型类型约束

[英]CodeDom generic type constraint

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM