Насколько я понимаю, вы создали библиотеку управляемых классов, реализованную на C ++. Вы хотите использовать эту библиотеку классов (сборку) в другом управляемом коде (написанном на C #, VB.NET и т. Д.). В настоящее время вы экспортировали некоторые методы (ваш API) как собственные вызовы C ++:
public bool initialize(string a) {
// ...
}
public bool runfile(string a, string b) {
// ...
}
Это полезно, если вы хотите иметь возможность вызывать вашу библиотеку из собственного кода C ++, но если вы хотите использовать только управляемый код для вызова своей библиотеки, я предлагаю вам создать свой API как управляемый код:
public ref class MyLibraryFunctions {
public:
static bool initialize(string a);
static bool runfile(string a, string b);
};
Таким образом, вам не нужно DllImport
в вашем коде C #. Вы можете просто сделать:
using Something.MyLibrary;
....
public void doSomethingThatNeedsMyLibrary() {
MyLibraryFunctions.initialize(someString);
}
Надеюсь, я правильно понял ваш вопрос.