В последнее время я много взаимодействовал с неуправляемыми библиотеками, и я продолжаю возвращаться к SO, чтобы задавать вопросы о некоторых сигнатурах методов, потому что я не программист на C/C++ (хотя мне это не совсем чуждо). Существуют ситуации, когда один и тот же аргумент в двух разных методах требует двух разных сигнатур P/Invoke (например: иногда я могу использовать ключевое слово out
, иногда мне нужно использовать OutAttribute
и т. Д.). Я не вижу в этом никаких причин.Где я могу узнать больше о P/Invoke?
Есть ли хорошие ресурсы для понимания P/Invoke и marshaling лучше для тех, кто не является экспертом по C/C++?
Для моего текущего проекта у меня есть очень подробная документация для неуправляемой стороны. Но есть случаи, например, когда метод, похоже, принимает указатель на одну структуру, но в документации указано, что он заполняет массив, заданный этим аргументом. Я понятия не имею, как написать эквивалентную подпись C# для такого рода вещей. –
Ну, если это массив, объявите аргумент как массив []. Несомненно, Натан может помочь вам в этом. –