閉じる

No enclosing instance of the type XXXX is accessible in scope

インナークラスのオブジェクトを外から作ろうとすると発生。*1
スーパークラスを呼び出す時点で発生するので原因がピンとこない。
純粋にネームスペース的な関係でインナークラスになっているのなら staticなクラスにして解決。
そうでないなら設計を見直す必要があるだろうなぁ*2


*1 staticでないインナークラスのオブジェクトはスーパークラスのコンテキストからでないと作れない。

*2 スーパークラスのコンテキストがあるのならファクトリメソッド経由という手もある…が、あまり美しくないよな。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)