Inicialización de matriz en Managed C ++

Deseo declarar e inicializar una matriz de elementos administrados en 1D.

Si fuera código C #, lo escribiría así:

VdbMethodInfo[] methods = new VdbMethodInfo[] {
    new VdbMethodInfo("Method1"),
    new VdbMethodInfo("Method2")
};

Estoy tratando de escribir (bueno, en realidad, estoy escribiendo un programa generar) lo mismo en C ++ administrado ...

Hasta ahora tengo:

typedef array<VdbMethodInfo^, 1> MethodArray;
// How do I avoid pre-declaring the size of the array up front?
MethodArray^ methods = gcnew MethodArray(2);
methods[0] = gcnew VdbMethodInfo("Method1");
methods[1] = gcnew VdbMethodInfo("Method2");

Hay dos problemas con esto:

Es más detallado Requiere que declare el tamaño de la matriz por adelantado, lo cual es inconveniente para mi generador de código

¿Existe una sintaxis de "inicialización de matriz" para matrices GC en Managed C ++? ¿Cual es la sintaxis correcta? ¿Existe un buen enlace web para esta y otras preguntas similares?

Respuestas a la pregunta(4)

Su respuesta a la pregunta