使用C#生成的Actionscript代理枚举

时间:2009-05-04 05:04:32

标签: c# actionscript-3 interop enums

很抱歉,如果标题不清楚 - 不确定如何说出来。随意编辑它。

我有一个用C#编写的Web服务,它使用枚举。当我使用Flash使用这个Web服务时,我让Flex生成了代理类 - 它还在Actionscript中生成了所谓的枚举。我的问题是我不知道如何使用这个生成的Actionscript。

C#enum:

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

Actionscript生成的代理类(不能改变它):

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();
    }
}

Actionscript用法示例(即,它应该在我的大脑中起作用):

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

注意:代码仅为示例,但结构相同。

我如何在Actionscript中使用此ImageType枚举?

1 个答案:

答案 0 :(得分:0)

AS3不支持枚举。我不是立即确定这个生成的代理类的重点是什么,但是它不会提供你习惯的大部分枚举行为。

您必须执行以下操作:

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

我知道你说你不能改变生成的类,但是如果你想创建自己的枚举类,请检查以下问题以获取官方文档的链接以及关于自定义枚举实现的有用博客文章:

Enums in AS3 / Flash / Flex?