Практическое руководство. Определение статического конструктора интерфейса (C++/CLI)
Интерфейс может быть статический конструктор, который можно использовать для инициализации статические члены данных. Вызывается не более одного раза, и вызывает статический конструктор ранее в первый раз статический член интерфейса осуществляется доступ.
Дополнительные сведения о статических конструкторах см. в разделе Как Определите в классе или структуре статические конструкторы.
Пример
// mcppv2_interface_class2.cpp
// compile with: /clr
using namespace System;
interface struct MyInterface {
static int i;
static void Test() {
Console::WriteLine(i);
}
static MyInterface() {
Console::WriteLine("in MyInterface static constructor");
i = 99;
}
};
ref class MyClass : public MyInterface {};
int main() {
MyInterface::Test();
MyClass::MyInterface::Test();
MyInterface ^ mi = gcnew MyClass;
mi->Test();
}