2009-01-04 172 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);