Tôi nhận được lỗi sau trong khi cố triển khai hàm mở rộng C# trong XSLT.Thông báo lỗi trong XSLT với chức năng mở rộng C#
thông số chức năng mở rộng hoặc giá trị trả về có CLR type 'Char []' không được hỗ trợ **
mã:.
<xsl:variable name="stringList">
<xsl:value-of select="extension:GetList('AAA BBB CCC', ' ')"/>
</xsl:variable>
<msxsl:script language="C#" implements-prefix="extension">
<![CDATA[
public string[] GetList(string str, char[] delimiter)
{
...
...
return str.Split(delimiter, StringSplitOptions.None);
}
]]>
</msxsl:script>
Có thể ai đó giải thích thông báo lỗi này và làm thế nào để vượt qua nó?
EDIT: Tôi cần một giải pháp vẫn cho phép tôi triển khai chức năng chia tách và sử dụng mảng được trả về.
Cảm ơn!
@iHeartGreek: Bạn yêu cầu ai đó giải thích lỗi này. Bây giờ, nếu bạn muốn có một chức năng tokenize, bạn phải hỏi một câu hỏi khác. Điều này có thể được thực hiện trong XSLT thuần túy, không cần phần mở rộng hay kịch bản. –
@Alejandro: Không .. đó là ý định ban đầu của tôi. Có lỗi giải thích và làm thế nào để vượt qua nó. Bản chỉnh sửa của tôi đã làm cho nó rõ ràng hơn rằng "làm thế nào để vượt qua nó" có nghĩa là tôi cần để có thể vẫn làm những gì tôi muốn. Xin lỗi vì sự nhầm lẫn và cảm ơn vì những đóng góp của bạn. Tôi đã chọn câu trả lời khác theo cách nào đó do việc anh ta/cô ấy sử dụng một lời giải thích dễ đọc. Cảm ơn mặc dù! : D – developer
@iHeartGreek: Có. Tôi không tìm kiếm bạn để xác nhận câu trả lời của tôi. Tôi đang nói rằng những gì bạn muốn bây giờ (khác với câu hỏi đầu tiên của bạn) nó có thể được thực hiện với XSLT thuần túy. Bằng cách này, câu hỏi của bạn có thể giúp người khác không nghĩ rằng để tách một chuỗi là cần thiết để sử dụng một phần mở rộng. –