Объявляя аргументы функции как double
(или double[]
), вы можете иметь только допустимые значения double
.
Если вам нужно проверить специальные значения, такие как ExcelEmpty
вам нужно объявить аргументы вашей функции как object
(или object[]
).
например
[ExcelFunction(IsMacroType = true)]
public static object getVal([ExcelArgument(AllowReference = true)] object[] dataRange)
{
if (dataRange[0] == ExcelEmpty.Value)
{
// ...
}
// ...
}
Если вы предпочитаете получать значения через ExcelReference
затем объявите ваш входной аргумент как object
и проверьте, является ли он ExcelReference
.
например
[ExcelFunction(IsMacroType = true)]
public static object getVal([ExcelArgument(AllowReference = true)] object input)
{
if (input is ExcelReference reference)
{
// ...
var value = reference.GetValue();
// ...
}
// ...
}