static final と宣言されたセットがあり、さらに凍結されています。
class MyParent {
public final static var MY_FIELDS : Set<MyParent> = {
FIELD1, FIELD2, FIELD3, FIELD4, FIELD5
}.freeze()
}
ここで、MyParent.MY_FIELD は複数の場所から呼び出されていくつかの魔法の処理を行うため、これを利用してコレクション自体を単純にオーバーライドしたいと考えています。
class MyChild extends MyParent {
public override static var MY_FIELDS : Set<MyChild> = {
FIELD1, FIELD3, FIELD5, FIELD8, FIELD9, FIELD10
}.freeze()
}
new
.NET で行われているように、キーワードも使用してみました。
class MyChild extends MyParent {
public new static var MY_FIELDS : Set<MyChild> = {
FIELD1, FIELD3, FIELD5, FIELD8, FIELD9, FIELD10
}.freeze()
}
ただし、これまでのところ、回避策はありませんでした。それから、私はそれが反射によって実現可能であると読みました。
そして、自分の型のgetClass()
メソッドまたはclass
メンバーにアクセスできませんMyParent
。
これを達成できる回避策はありますか?
Guidewire プロジェクトで Gosu 8.0 を使用する。