Я использую взаимодействие C # для вызова функции C из сторонней библиотеки, которая, как мне посоветовали, может возвращать значение null, что, по-видимому, допустимо в C (не в моей области знаний) для функции с возвращаемым типом int.
В своем заголовке я ссылаюсь на стороннюю библиотеку следующим образом:
[DllImport("mythirdpartylib.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern int My_Third_Party_Func(uint amount, byte payment_method);
Когда я ее вызываю, я буду использовать что-то вроде этого:
int result = My_Third_Party_Func(var1, var2);
if (result > 0)
{
// log an error as anything other than zero is an error
}
Каккак только я вызываю My_Third_Party_Func и запускаю сценарий, в котором возвращается null, в моем коде C # возникает исключение NullReferenceException.Я также попытался изменить объявленные типы с int на IntPtr, но выдается то же исключение.Могу ли я что-нибудь сделать, чтобы исключение не возникало, когда я получаю нулевое значение из кода взаимодействия?
TIA