2011-06-16 43 views
1

我正在使用code model API生成java源文件。我有一個通過codemodel API定義的枚舉,我想在開關塊中使用它。在switch語句中,枚舉常量應該用作不合格。我無法訪問枚舉常量的非限定名稱,因爲代碼模型API使用枚舉類名稱來限定常量。在使用CodeModel的開關中使用Enum常量

總之,我想用codemodel API生成下面的代碼片段。

enum MyEnum {A,B}; 
MyEnum m = MyEnum.A; 
switch (m){ 
    case A: 
    //do something 
    case B: 
    //d0 something else 
} 

但codemodel產生這樣

enum MyEnum {A,B}; 
MyEnum m = MyEnum.A; 
switch (m){ 
    case MyEnum.A: 
    //do something 
    case MyEnum.B: 
    //d0 something else 
} 

感謝你的幫助。

回答

0

JExpr.ref("A")給出了枚舉常量的直接引用。