Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти


  • УЖЕ ЗАВТРА! Просто зашёл, нажал на кнопку участия и забрал кучу призов уже 30-го декабря: https://yougame.biz/threads/366947/

Вернуть List<string> (vector<string>)

  • Автор темы Автор темы Jacellen
  • Дата начала Дата начала
Ты че баклан, дефективный?
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
822
Реакции
64
Код:
Expand Collapse Copy
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void Mod_Information();
public static Mod_Information Info;

Info = CreateDelegate<Mod_Information>("PrintConsoleInfo");
Info.Invoke();

public T CreateDelegate < T > (string procName) where T: class {
    IntPtr procAddress = this.GetProcAddress(procName);

    if (procAddress != IntPtr.Zero) {
        return (T)(object) Marshal.GetDelegateForFunctionPointer(procAddress, typeof(T));
    }

    return null;
}

Так я вызываю методы из C++ в библиотеки C#.

Вопрос вот в чем, могу ли я таким способом вернуть vector<string> из C++ в библиотеку C#?
 
Код:
Expand Collapse Copy
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void Mod_Information();
public static Mod_Information Info;

Info = CreateDelegate<Mod_Information>("PrintConsoleInfo");
Info.Invoke();

public T CreateDelegate < T > (string procName) where T: class {
    IntPtr procAddress = this.GetProcAddress(procName);

    if (procAddress != IntPtr.Zero) {
        return (T)(object) Marshal.GetDelegateForFunctionPointer(procAddress, typeof(T));
    }

    return null;
}

Так я вызываю методы из C++ в библиотеки C#.

Вопрос вот в чем, могу ли я таким способом вернуть vector<string> из C++ в библиотеку C#?
В чем проблема использовать List<T> из C#?
 
В чем проблема использовать List<T> из C#?
в том, что метод выполняется в нативной либе (в котором возращается лист).Хотя я уже сделал проще - через invoke с натива в C#
 
Назад
Сверху Снизу