[csharp-l] Wrapper com Enumerador.

Olá Forúm,

 

Preciso utilizar um componente Com no Genexus X Ev1, e então criei um wrapper em C# e importo no genexus pelo .Net Assembly Import.

Só estou tendo problema com algumas propriedades do componente Com, que utilizam Enum.

Tentei criar um Enum dentro de meu wrapper:

public enum MeuEnum

        {

            Opcao1,

            Opcao2,

            Opcao2,

        }

 

Mas o “.Net Assembly Import” não importa, nem aparece da lista dos objetos a selecionar este enum, parece que não suporta Enum.

Única forma que consegui, foi deixar esta propriedade como String, pelo Genexus passar um texto string “Opcao1”, e tratar dentro do Wrapper com Switch Case, as opções do Enum do componente Com,

        public string MeuObjeto

        {

            get

            {

                return oComponenteCom.PropriedadeEnum.ToString();

            }

            set

            {

                switch (value)

                {

                    case "Opcao1":

                        oComponenteCom.PropriedadeEnum = Enum.Opcao1;

                        break;

                    case "Opcao2":

                        oComponenteCom.PropriedadeEnum = Enum.Opcao2;

                        break;

                                       }

                             }

gostaria de poder trabalhar com as opção do Enum também a nível de Genexus para ficar mais fácil, pois tem muitos Enum.

Alguém já passou por este problema, ou teria alguma ideia de como poderia ser feito?

 

Agradeço,

 

Diego Rodrigo Grein

Analista de Sistemas

diego@silrs.com.br

+55 54 2108-3535

www.silrs.com.br

 

0 Response to "[csharp-l] Wrapper com Enumerador."

Publicar un comentario