Я хотел бы автоматически попытаться преобразовать входные параметры из удобных для Excel типов в те, которые полезны в моем AddIn и наоборот, обратно в Excel с возвращаемыми значениями. Например, я хотел бы определить функцию Excel (как метод C#) как:Параметры ExcelDNA и тип возврата Автоматическое преобразование
public static Vector<double> MyFunction(Vector<double> inputVector)
{
// do some stuff to inputVector
return inputVector
}
Я хотел бы, чтобы он конвертировать свой входной Params и возвращать значение «за кадром», т.е. I определите некоторый общий метод преобразования для преобразования из object
в Vector<double>
и наоборот, и это вызывается до того, как они будут переданы в/из моего определенного метода.
Возможно ли это? Я нашел ParameterConversionConfiguration
в github repo, но я не совсем уверен, как его использовать. Есть ли примеры или дополнительная документация? Я вижу, что мне, возможно, придется каким-то образом зарегистрировать преобразования типа, но я не уверен, как действовать дальше.
EDIT: После того, как несколько больше играть вокруг, я сделал это, чтобы преобразовать возвращаемое значение из матрицы в массив:
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 выплевывает ошибку «неподдерживаемый подпись» , Я на правильном пути? Что еще мне нужно сделать?