У меня есть приложение (CLI), которое ссылается на смешанную DLL. DLL реализует класс "ref" со статическими функциями.
Вот (частичный) код для ref-класса
public ref class AAA
{
public:
static bool Write(System::String^ sz);
// Not accessible!!!
public: static BOOL TraceRect(const CRect& rc);
};
В EXE в коде C++ я пытаюсь вызвать обе функции:
// This works
AAA::Write("hello");
// This doesn't !!!
CRect rc(0, 0, 12, 234);
AAA::TraceRect(rc);
Как я могу получить доступ ко второй функции?
c++-cli
, так как это поможет вам больше. - person Xeo   schedule 11.04.2011/clr
, верно? А не с#pragma unmanaged
(или эквивалентом)? Я думаю, вы сталкиваетесь с проблемами идентификации, поскольку собственные классы должны быть скомпилированы в ссылки типа MSIL, чтобы их можно было использовать в методах управляемых типов, ноCRect
в DLL отличается отCRect
в EXE. - person Ben Voigt   schedule 11.04.2011