Я обернул метод dll, который имеет целое число в качестве параметра out в веб-сервисе.
При тестировании я обнаружил, что когда я ожидал -1, я получил 65 535 вместо этого. Я понял, что dll использует 16-битные целые числа, и я указывал стандартное 32-битное целое число .NET при ссылке на внешнюю dll в моем коде. это было быстро исправлено путем указания 16-битного целого числа, и все хорошо.
Мой вопрос: почему это произошло? Я мог бы понять переполнение, возникающее, если я пытался вписать 32-битное целое число в 16-битное целое, но я не очень уверен, почему это происходит наоборот. Понятно, что мое понимание этого типа приведения между типами немного отсутствует, поэтому любые указания будут высоко оценены.