問題タブ [nested-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SwingWorkerはネストされたクラスである必要がありますか?
SwingWorker
メインGUI内でネストされたクラスである必要があるかどうか疑問に思っています。GUIをプログラムロジックから明確に保つために、外部クラスにしたいです。
クラスを外部にしようとしましたがSwingWorker
、これはプロセスで正常に機能しますが、残念ながら、SwingWorkerクラスからGUIフィールドにアクセスできません。SwingWorkerのメソッド内からラベルなどの属性にアクセスしようとするとdone()
、nullPointer例外が発生します。
アドバイスをいただければ幸いです。
まずはジェフ、どうもありがとうございました!あなたが提示した2番目のオプションについてはフォローできませんでしたが、これまでのところ正常に機能しています。私のバックグラウンドタスクの1つは、特定のサイズ(長い値)を計算するので、GUIからその値を取得すると便利です。
ゲッターとセッターを使用することを提案しましたが、残念ながら、SwingWorkerクラスでそれらを実装する方法がわかりません。
私はこのようにそれを試しました:
セッターはdoInBackground()
メソッドの最後に呼び出されます。残念ながらget()
、GUIからこのメソッドを使用することはできません。
コンストラクターがRunnableのオブジェクトを必要とするため、私の場合、「w」のオブジェクト作成は機能しません。私は何かが足りないのですか?SwingWorkerを使用するのは初めてです。:)繰り返しになりますが、ご協力いただきありがとうございます。
.net - パブリックなネストされた型
.NET で入れ子になった型が関係する特定のシナリオに関しては、どのような良い習慣があるのか知りたいです。
Wheel クラスがあり、Wheel クラスが Bearing オブジェクトを保持しているとします。Bearing オブジェクトは Wheel 内でのみ意味があり、独立して作成することは望ましくないため、Bearing クラスを Wheel オブジェクト内にネストすることは理にかなっています。ただし、Wheel クラスの外部で Wheel.Bearings プロパティを読み取る必要があるシナリオがあるとします。これには、ネストされた Bearing クラスを public にする必要があります。
この状況では、最良の選択肢は何ですか?
1 - Wheel クラス内にネストされた public Bearing クラス
を作成します。 2 - コンストラクターで Wheel オブジェクトを受け取る独立した Bearing クラスを
作成します。 3 - Wheel 名前空間を作成し、この名前空間内に独立した Bearing クラスを作成します。
4 - 他に何か?
更新: 詳細を更新し、これまでのいくつかの提案を反映させます。ClassParent は親クラス、ClassChild は子クラスです。ClassChild は常に ClassParent の子であり、単独で存在する意味はありません。問題は、ClassChild にはパブリックに公開する必要があるいくつかのプロパティがあり、残りはすべて ClassParent からのみ呼び出す必要があることです。例としては、ClassParent が適切なクリーンアップと変更を実行する必要があるため、ClassParent からのみ呼び出す必要があるため、公開すべきではない ClassChild.Delete 関数があります。
提案を確認した後、私が思いついたデザインは少し汚れているように見えるので、意見を求めようと思いました. 私は持っている:
c# - トップレベルの一般的な使用クラスライブラリのClass.ClassとNamespace.Class?
どちらがより受け入れられますか (ベスト プラクティス)?:
対
また#2
、コード サイズは部分クラスを持つことによって管理されるため、ネストされた各クラスを個別のファイルに入れることができます。これは拡張メソッドと同じです (ネストされたクラスがないことを除いて)。
#2
のように、既に一般的に使用されている型名を使用できるなど、いくつかの理由で、IO
置き換えたり衝突したりしたくないため、を好みます。
あなたはどちらを好みますか?それぞれの長所と短所はありますか?この場合のベストプラクティスは何ですか?
編集:また、2つの間にパフォーマンスの違いはありますか?
c++ - ネストされたクラスで gcc がエラーを返す
以下のように、ネストされたクラスの完全修飾名を使用しようとしていますが、コンパイラーが動作しません!
私の問題は、コンパイラが言うことです:
完全修飾名を使用すると、このネストされたクラスにアクセスできると思っていましたか? おそらく顔を殴られるだろうが、一体何が見えないのだろう??
c++ - ジェネリック外部クラスからネストされた内部クラスへのポインターを返す
私はC++が初めてなので、ご容赦ください。A というジェネリック クラスがあります。A には B というネストされたクラスがあります。A には、B の新しいインスタンスを返すことになっている getB() というメソッドが含まれています。しかし、コードをコンパイルできません。これは次のようになります。
ああ
A.cpp
これをコンパイルしようとすると、次のエラーが発生します。
私が間違っていることを誰かが知っていますか?
ありがとう、
螺旋状
アップデート:
迅速な返信ありがとうございます。私はまだこれを機能させるのに少し苦労しています。ここにリストされている提案を行った後、次のようなものがあります。
ああ
ただし、これをメインから使用しようとすると、エラーが発生します。これが私の主な方法です:
main.cpp
これをコンパイルしようとすると、次のエラーが発生します。
迅速な対応に感謝します。
螺旋状
asp.net - ASP.NET で親ページのビューステートにアクセスする
OK、ここで明らかな何かが欠けていると思いますが、まだ機能させることはできません...
ASP.NET にページがあります。ページ内にネストされたクラスがあります。このネストされたクラスにプロパティがあります。プロパティの Set ステートメントからページのビューステートにアクセスするにはどうすればよいですか?
ありがとう!
c++ - C++ のネストされたクラス/前方宣言の問題
ネストされたクラスを前方宣言し、それを外部クラスの具体的な (ポインター/参照ではない) データ メンバーの型として使用することは可能ですか?
IE
php - PHPのネストされたクラスは機能します...
したがって、次のようなネストされたクラスを実行しようとすると、次のようになります。
エラーが発生しますFatal error: Class declarations may not be nested in [...]
しかし、次のような別のファイルにクラスがある場合:
では、なぜ2番目のハッキーな方法は機能するのに、ハッキーではない方法は機能しないのでしょうか。