Como definir um construtor estático de interface (C++/CLI)

Uma interface pode ter um construtor estático, que pode ser usado para inicializar membros de dados estáticos. Um construtor estático será chamado no máximo uma vez e será chamado antes da primeira vez que um membro de interface estática for acessado.

Exemplo

// 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();
}
in MyInterface static constructor
99
99
99

Confira também

classe de interface