Я озирался, мне нужен пример для Singleton-класса, который работает через 2 или больше C++ / файлы CLI.
Как Вы объявляете одиночный элемент в C++ / CLI, не C#?
Как Вы совместно используете тот одиночный элемент через два или больше C++ / файлы CLI?
Я продолжаю получать Переменные переопределения, когда я пытаюсь совместно использовать тот одиночный элемент.
Это для C++/CLI, а не для ".NET Managed Extensions for C++" aka C++.NET. Не используйте управляемые расширения (Visual Studio 2002-2003), они глючные.
ref class Singleton
{
private:
Singleton() {}
Singleton(const Singleton%) { throw gcnew System::InvalidOperationException("singleton cannot be copy-constructed"); }
static Singleton m_instance;
public:
static property Singleton^ Instance { Singleton^ get() { return %m_instance; } }
};
Что касается "через несколько файлов", то другие единицы компиляции в том же проекте используют #include
, другие сборки используют ссылку (или #import
). Тогда не будет проблем с переопределением.