Question

Désolé si le titre n’est pas clair - vous ne savez pas comment le formuler. N'hésitez pas à le modifier.

J'ai un service Web écrit en C # et il utilise une énumération. Lorsque je consomme ce service Web avec Flash, Flex a généré les classes de proxy - qui génèrent également cette énumération dans Actionscript. Mon problème est que je ne sais pas comment utiliser cet ActionScript généré.

C # enum:

public enum ImageType
{
    None = 0,
    Png = 1,
    Jpg = 2,
    Gif = 3
}

Classe proxy générée par Actionscript (vous ne pouvez pas changer cela):

public class ImageType
{
    public function ImageType() {}
    [Inspectable(category="Generated values", eumeration="None,Png,Jpg,Gif", type="String")]
    public var _ImageType:String;public function toString():String
    {
        return _ImageType.toString();
    }
}

Exemple d'utilisation d'ActionScript (c'est-à-dire que cela devrait fonctionner dans mon cerveau):

var imgType:ImageType = ImageType.Png; //this does not actually work though

REMARQUE: le code n'est qu'un exemple, mais la structure est la même.

Comment pourrais-je utiliser cette énumération ImageType dans Actionscript?

Était-ce utile?

La solution

AS3 ne prend pas en charge les énumérations. Je ne suis pas tout de suite sûr de l’intérêt de cette classe de proxy générée, mais cela ne va pas fournir beaucoup du comportement d’énumération auquel vous êtes habitué.

Vous devez procéder comme suit:

var imgType:ImageType = new ImageType();
imgType._imageType = "Png";

Je sais que vous avez dit que vous ne pouvez pas modifier la classe générée, mais si vous souhaitez créer votre propre classe d'énumération, recherchez dans la question suivante des liens vers la documentation officielle, ainsi qu'un article de blog utile sur une implémentation d'énumération personnalisée:

Enum sur AS3 / Flash / Flex?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top