2011-08-11 6 views
10

No puedo obtener el contenido de una enumeración C++/CLI para mostrar en un proyecto C#.Enum C++/CLI no aparece en C# con referencia al proyecto C++/CLI

Puedo ver dentro de una clase que escribí, e incluso ver la enumeración, pero no puedo ver los valores enum. Entonces no puedo usar la cosa en mi lado C#.

Cualquier motivo por el que no se muestren los contenidos de una enumeración de C++/CLI.

Mi proyecto C++/CLI está compilado como mixto para reutilizar una biblioteca C++.

y estoy usando Visual Studio 2005.

Respuesta

23

Compruebe que está utilizando enum class para crear una enumeración compatible con .NET, y no un tipo nativo de C++ enum.

Las versiones posteriores de Visual C++ requieren public enum class, para quitar la ambigüedad de la palabra clave contextual enum class que es parte de C++ 11 (y por lo tanto crea un tipo nativo).

+2

Donde se supone que debo resolver esto. –

+1

@Xaade: Mire la definición de la enumeración. Si parece 'enum X {A, B, C};' necesita cambiar eso a 'clase de enum pública X {A, B, C};' También necesitará cambiar el código de C++/CLI que lo usa , de 'A' a' X :: A'. –

+1

No, no, te entendí, y entendí qué hacer. Me preguntaba cómo se suponía que debía resolver eso. –

Cuestiones relacionadas