Я должен взаимодействовать с функцией C из C # Функция отправляет сообщение по сети.
Вот мое рабочее определение в C #:
delegate void SendNetMessageDelegate(uint messageCode, ref MessageData messageData, uint messageSize);
, и MessageData определенавот так:
[StructLayout(LayoutKind.Sequential)]
internal struct MessageData { ... }
эти определения пока работают хорошо.
Проблема в том, что иногда мне нужно вызывать ту же функцию с другой полезной нагрузкой.Это означает, что мне придется создать другой делегат, который принимает структуру «OtherMessageData» вместо «MessageData»
Так что мне придется добавить еще один SendNetMessageDelegate, который принимает другую структуру в качестве ссылки.
Есть липроще?Поэтому я могу вызвать SendNetMessage (messageCode, ref AnyStructHere messageData, messageSize)
Я попытался изменить тип параметра на «объект», а затем преобразовать свои структуры в объект, но это не сработало...