我有一个XSL转换,它使用msxsl在C#中添加扩展方法。我对msxsl有以下设置:
<msxsl:script language="C#" implements-prefix="cs">
<msxsl:assembly name="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<msxsl:assembly name="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<msxsl:using namespace="System.Collections.Generic" />
<msxsl:using namespace="System.Linq" />
<msxsl:using namespace="System.Xml.Linq" />然后我有一个c#函数作为扩展方法:
public int returnUniqueCount(string theCodeCollection) {
// calculate and return the total number of distinct codes
if (theCodeCollection.Length > 0) {
string[] myObject = theCodeCollection.Split('|');
string[] uniqueCollection = myObject.Distinct().ToArray();
return uniqueCollection.Length;
} else {
return 0;
}
}本质上,这只是一个标记化的字符串,拆分它,并计算结果集,排除重复项。
转换在服务器上运行得很好,但是当我尝试分析它时,我得到了以下错误:
'System.Array' does not contain a definition for 'Distinct'我整个早上都在想这件事,但我就是看不出来。有什么想法吗?
谢谢大家。
发布于 2012-01-30 03:20:14
我也有同样的问题,显然有模板返回的模板方法不能用于脚本,只有像ContainsKey()和Count这样有不同返回的方法才是可用的。
https://stackoverflow.com/questions/8300790
复制相似问题