Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CodeDom泛型类型约束_C#_Generics_Codedom - Fatal编程技术网

C# CodeDom泛型类型约束

C# CodeDom泛型类型约束,c#,generics,codedom,C#,Generics,Codedom,是否有一种方法可以使用CodeDom生成类约束 因为当我使用 var method = new CodeMemberMethod(); var genericParam = new CodeTypeParameter("InterfaceType"); genericParam.Constraints.Add("class"); method.TypeParameters.Add(genericParam); 生成的代码如下所示 private InterfaceType GetImpl<

是否有一种方法可以使用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
{
}

但这似乎充其量只是一个解决办法。

似乎没有明确的方式来指定该约束。都不是

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


对于其余部分,请使用中的CodeTypeReference。

我还使用零宽度空间(
“\x200Bclass”
)而不是普通空间。然后我用空字符串替换最后一个字符串:
.replace(“\x200B”,string.empty)

genericParam.Constraints.Add(" class");