私は匿名の内部クラスを持っています。コンストラクタ内のその(匿名の)外部クラスにアクセスしたいと思います。ですから、私はこの方法を実装したいと思います:スカラー:コンストラクタの内部クラスから外部クラスを取得
0
A
答えて
1
あなたはは簡単に十分な(私はOuter
とInner
の両方を変更することができますが、それらを使用してコードが問題のようになっているはずと仮定)は、この使用して暗黙を行うことができます。宣言:
class Outer {
implicit def o: Outer = this
}
class Inner(implicit val outerClass: Outer) {
}
使用法:
new Outer {
new Inner {
// can use outerClass here
}
}
または
new Outer {
val inner = new Inner {
}
// inner.outerClass
}
そして、私は、これはDSLのために有用である想像しています(RのAPIのユーザーは)実際にそれを最初にしたいことを確認することができます!
2
このアプローチについては何が言いますか?
new Outer { self =>
new Inner(self) {
}
}
class Outer {
}
class Inner[A](outerClass:A) {
println("CLASS: " + outerClass.getClass)
}
関連する問題
- 1. Java - 内部クラスのコンストラクタ - 外部クラスのみに使用可能
- 2. 外部クラスから変数を取得
- 3. 内部クラスオブジェクトを外部クラスのコンストラクタにC#
- 4. Automapper外部クラスから内部クラス変数へのマップ
- 5. 外部クラスにアクセスする内部クラス
- 6. CSカート&Smartyクラス外部コードを取得
- 7. 静的な内部クラスから外部クラスのフィールドにアクセスできますか?
- 8. チェスゲームの座標を内部クラスから外部クラスに記憶する
- 9. Javaの内部クラスシャドウイング外部クラス
- 10. 呼び出し外クラスの内部クラス
- 11. 内部クラス内でoutterクラスのコンストラクタを呼び出す方法
- 12. Javaの静的内部クラスから外部クラスのプライベートメンバーにアクセスする方法
- 13. Pythonはクラスの外部から変数を取得します
- 14. C++の内部クラスから外部クラスオブジェクトにアクセスする方法
- 15. 外部クラスから内部クラスに変数を渡す最も良い方法
- 16. 外部クラスの内部クラスからプロパティにアクセスするには?ここ
- 17. のJava:外部クラスと内部クラス間の同期
- 18. 内部クラスの外部クラス変数へのアクセス
- 19. Javaネストされた内部クラスのアクセス外部クラス変数
- 20. IronPythonは内部クラスをC#dllから取得します
- 21. 内部クラスからDisplayNameAttributeを取得する
- 22. Android Foursquareアクセストークン:内部クラスからaccessTokenを取得するには?
- 23. 内部クラス 'インスタンスが外部クラス'データメンバーにアクセスできない
- 24. 派生クラスのコンストラクタの内部で基本クラスのコンストラクタを呼び出すC++
- 25. がないのはなぜ内部クラスのコンストラクタで外部クラスのオブジェクトのLocalVariableTableのエントリ(Javaのバイトコード)
- 26. 外部クラス
- 27. ルール、外部クラス
- 28. 外部クラス
- 29. Python外部クラス
- 30. Javaで匿名の内部クラス内で外部クラスのインスタンスにアクセス
スタックトレースの魔法がなければ不可能です。たぶん私たちはあなたの問題をより良い解決策を提案することができますか? – talex
私は暗黙のパラメータでこれを試しましたが、失敗しましたが、おそらくそれは可能でしょうか? –
私はあなたがこれを行うことによっていくつかの他の問題を解決しようとしていると信じています。それが本当であれば、私たちに説明してください。多分もっと良い解決策かもしれません。 – talex