我想自动尝试输入参数从Excel友好的类型转换为那些在我的外接程序有用,反之亦然回Excel与返回值。例如,我想定义的Excel函数(如C#的方法),如:ExcelDNA参数和返回类型自动转换
public static Vector<double> MyFunction(Vector<double> inputVector)
{
// do some stuff to inputVector
return inputVector
}
我想让它转换我的输入参数和返回值,即I“幕后”定义一些从object
转换为Vector<double>
的通用转换方法,反之亦然,并且在传入/传出我定义的方法之前调用此方法。
这可能吗?我在github repo中发现了ParameterConversionConfiguration
,但我不太清楚如何使用它。是否有任何示例或更多文档可用?我可以看到,我可能需要以某种方式登记自己的类型转换,但我不知道如何着手。
编辑:经过一些玩弄,我这样做是为了一个返回值从矩阵转换为数组:
public class ExcellAddIn : IExcelAddIn
{
public void AutoOpen()
{
var conversionConfig = GetParameterConversionConfig();
}
static ParameterConversionConfiguration GetParameterConversionConfig()
{
var paramConversionConfig = new ParameterConversionConfiguration()
.AddReturnConversion((Matrix<double> value) => value.ToArray());
return paramConversionConfig;
}
}
但在加载.xll,Excel的吐出一个“不支持的签名”错误。我在正确的轨道上吗?我还需要做什么?