所以这就是我的意思。 假设我有一个类ErrorMessages,它将我的所有错误消息保存为静态常量。所以我可以像ErrorMessages.PASSWORD_INVALID或ErrorMessage.PASSWORD_TOO_SHORT一样访问它们。我想知道是否有可能有单独的类来保存这些常量的子集并访问它们,如ErrorMessages.PASSWORD.INVALID或ErrorMessages.PASSWORD.TOO_SHORT等。 这样我可以使用更结构化的静态结构,并且可以更轻松地使用自动完成功能。 我尝试了几种不同的方式,无法弄清楚这是否可行..
答案 0 :(得分:2)
将它们声明为静态类中的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
包,并为该包中的不同类别的错误(如PASSWORD,FILE等)声明不同的类。现在在适当的时候在这些类中声明公共静态常量。
答案 1 :(得分:0)
或者如果要保留单个类,可以在Error类中定义类。您可能希望这些文本来自属性文件。因此,您可以使用resourceManager实例并从特定资源包中获取文本。
答案 2 :(得分:0)
这就是我最终要做的事情
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。它并不像我希望的那样干净......但我想这会做的。