"Factory"デザインパターンに従ってライブラリを考えてみると、私は、インタフェースを "読み取り専用"と見なし、書き込み権を持つことができるインタフェースを区別する必要があります。だから、私は次のスキーマを開発:actionscript strange getter/setter access
public interface IReadOnly {
function get value(): Number;
}
public interface IReadWrite extends IReadOnly {
function set value (v:Number): void;
}
internal class ReadWrite implements IReadWrite {
public function get value(): Number {
return m_value;
}
public function set value (v:Number): void {
m_value = v;
}
protected var m_value:Number;
}
だから、問題がある:私はクラスのインスタンスでゲッターにアクセスすることはできません。 Flexには、次のコードのコンパイルを拒否します:
function doSomething (rw:IReadWrite): void {
var num:Number = rw.value;
}
フレックスを教えてください:「1178:静的な型IReadWriteと参照を通じてアクセスできないプロパティ値のアクセスをしようとしました。」
私がセッターを単純な関数、例えばfunction setValue (v:Number): void;
と置き換えると、すべてうまく行きます。
すでにこのシナリオに誰かが遭遇しましたか?それはコンパイラのバグですか?問題を解決できるコンパイラのパラメータはどれですか?
ありがとうございました。
ありがとう!はい、私のコードは、他のdevsのlibにパックされるので、醜いと本当に "ユーザーフレンドリー"ではありません。しかし、明確なドキュメンテーションを使って、私は素敵なlibデザインを手に入れました。 (私はあなたの答えを上げたいですが、私の "評判"はまだ十分ではありません...) – Clem