Apache flex 静态常量返回Flex中特定类的实例?

Apache flex 静态常量返回Flex中特定类的实例?,apache-flex,Apache Flex,这就是我的意思。 假设我有一个类ErrorMessages,它将所有错误消息作为静态常量保存。所以我可以像ErrorMessages.PASSWORD\u INVALID或ErrorMessage.PASSWORD\u TOO\u SHORT那样访问它们。我想知道是否可以有单独的类来保存这些常量的子集,并访问它们,如ErrorMessages.PASSWORD.INVALID或ErrorMessages.PASSWORD.TOO_SHORT,等等。 这样,我可以更结构化的静态结构,使它更容易使用

这就是我的意思。 假设我有一个类ErrorMessages,它将所有错误消息作为静态常量保存。所以我可以像
ErrorMessages.PASSWORD\u INVALID
ErrorMessage.PASSWORD\u TOO\u SHORT
那样访问它们。我想知道是否可以有单独的类来保存这些常量的子集,并访问它们,如
ErrorMessages.PASSWORD.INVALID
ErrorMessages.PASSWORD.TOO_SHORT
,等等。 这样,我可以更结构化的静态结构,使它更容易使用自动完成。
我尝试了几种不同的方法,但无法确定这是否可行。

将它们声明为静态类中的const对象-但在自动完成中无法获得它们

public class ErrorMessages
{
  public static const PASSWORD:Object = {
     INVALID:"invalid password",
     TOO_SHORT:"minimum 6 chars required",
     TOO_LONG:"100 chars: r u sure?"
  };
  public static const FILE:Object = {
     NOT_FOUND:"No such file",
     READ_ONLY:"it is readonly",
     SOMETHING_ELSE:"something else"
  };
}

trace(ErrorMessages.PASSWORD.INVALID);

如果自动完成很重要,请创建一个专用的
com.domain.errors
包,并为该包中不同类别的错误(如密码、文件等)声明不同的类。现在,在这些类中适当地声明公共静态常量。

或者,如果要保留单个类,可以在错误类中定义类。您可能希望这些文本来自属性文件。因此,您可以使用resourceManager实例并从特定的资源包中获取文本

--
以下是我最后要做的

package com.domain.data.type {
  public class ErrorMessages {
    public static function get PASSWORD:PasswordErrorMessages { return new PasswordErrorMessages(); }
    }
}
class PasswordErrorMessages {
  public function get INVALID():String  { return "invalid password"; }
}

这样我就可以得到我想要的行为:ErrorMessages.PASSWORD.INVALID with autocomplete。它不像我希望的那样干净。。但我想这样就可以了。

我明白了。。。我确实想要自动完成。。我想要这个的最初原因之一是为了我能做得更好。通过。Inv获取ErrorMessage.PASSWORD.INVALID。当前,如果我想获取ErrorMessage.PASSWORD\u INVALID,我必须键入PASSWORD\u INV以获得正确的结果。我想把它保存在一个文件里。我只需要几个常量,并认为为它们单独设置文件可能有些过分。。谢谢你的建议,我想保留一个单独的文件。我尝试在ErrorMessage类中定义类,但我找不到通过ErrorMessage类的静态变量公开这个类的方法,这样我就可以访问静态常量。我尝试了类似以下程序包com.domain.data.type{public class ErrorMessages{public static const PASSWORD….}}class PasswordError{public static const INVALID:String=“INVALID PASSWORD”}我只是不知道如何通过ErrorMessage访问PasswordError的静态常量。PASSWORDI希望您意识到每次读取错误消息时都在创建一个新对象。是的,我将其更改为静态变量。