F# exceldna/F中的多态性#

F# exceldna/F中的多态性#,f#,excel-dna,F#,Excel Dna,在F#/Excel Dna中,为字符串向量重写以下函数的惯用方法是什么?(即,对字符串的“向量”(=1d Excel范围)进行排序的函数) [] 让我的端口加倍(向量:加倍[]):加倍[]= Array.sort向量 如果我只是用上面代码段中的字符串类型替换双类型,我会收到以下错误消息:Initialization[error]Method not registed-不支持的签名,抽象或泛型:“MyFSFunctions.myortstring” 我看到了Govert建议使用“注册扩展”的地方

在F#/Excel Dna中,为字符串向量重写以下函数的惯用方法是什么?(即,对字符串的“向量”(=1d Excel范围)进行排序的函数)

[]
让我的端口加倍(向量:加倍[]):加倍[]=
Array.sort向量
如果我只是用上面代码段中的字符串类型替换双类型,我会收到以下错误消息:
Initialization[error]Method not registed-不支持的签名,抽象或泛型:“MyFSFunctions.myortstring”


我看到了Govert建议使用“注册扩展”的地方,但我还没有找到如何使用它来回答我当前的问题

正如您编写的mySortDouble一样,它甚至不会编译,因为它返回的是double[],而不是double

下面是一个有效的示例,添加了一些最小的错误处理

[<ExcelFunction(Category="Some Cat", Description="Sort 1D range of strings.")>]
let SortStrings (vect : obj[]) = 
    try
        vect
        |> Seq.cast<string>
        |> Seq.sort
        |> Seq.toArray
        |> box
    with
    | ex -> box ExcelError.ExcelErrorNA
[]
让排序字符串(vect:obj[])=
尝试
可变气门正时系统
|>序号
|>顺序排序
|>序号:toArray
|>盒子
具有
|ex->box ExcelError.ExcelErrorNA

ParameterConversionConfiguration()
.AddReturnConversion(乐趣(值:double[])->
Array.map(字符串>>框)值
)

[<ExcelFunction(Category="Some Cat", Description="Sort 1D range of strings.")>]
let SortStrings (vect : obj[]) = 
    try
        vect
        |> Seq.cast<string>
        |> Seq.sort
        |> Seq.toArray
        |> box
    with
    | ex -> box ExcelError.ExcelErrorNA