問題タブ [subclassing]

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.

0 投票する
3 に答える
12504 参照

java - Javaサブクラスのメソッドの可視性を下げられないのはなぜですか?

サブクラスでメソッドをオーバーライドしているときにメソッドの可視性を下げると、コンパイラがエラーメッセージを表示するのはなぜですか?

0 投票する
1 に答える
573 参照

c - 他のアプリケーションから WM_GETMINMAXINFO メッセージを受け取りません

私の C-Dll には、Windows フックがあります。

この Callback メソッドを使用すると、次のようになります。

WM_GETMINMAXINFO メッセージを除くすべての Windows メッセージを取得します。ウィンドウの最大サイズを変更したい。この問題を解決するにはどうすればよいですか?

どうもありがとうございました!
アンディ

0 投票する
1 に答える
540 参照

uiview - サブクラス化せずにオーバーロード メソッド (具体的には drawRect:)

コンテナー UIView を使用して UIImageView を格納し、カスタム描画を行います。この時点で、サブビューの上に描画を行いたいと思います。したがって、コンテナー UIView で drawRect: をオーバーライドすると、サブビューの下にのみ描画されます。

サブビューで drawRect: をサブクラス化せずにオーバーロードする方法はありますか?

メソッドの入れ替えが答えかもしれませんが、そうではないことを願っています。

(注: はい、UIView を UIImageView のサブビューにする方が賢明だったでしょうが、残念ながら私は今自分の間違いにコミットしています。)

0 投票する
2 に答える
2352 参照

c++ - プログラムでインスタンス化する適切なサブクラスの選択

OK、コンテキストは、バイトストリームを解析して、操作しやすい「オブジェクト」表現に変換するシリアライゼーション/デシリアライゼーションコードです (逆も同様です)。

以下は、基本メッセージ クラスを使用した単純化された例です。次に、「タイプ」ヘッダーに応じて、さらにいくつかのデータ/関数が存在するため、インスタンス化する適切なサブクラスを選択する必要があります。

実際の例では、いくつかのメッセージがフィールド/機能を互いに共有するため、何百もの異なるメッセージ タイプと、場合によってはいくつかのレベルまたは階層が存在します。

さて、バイト文字列を解析するために、次のようなことをしています:

しかし、私はこの巨大なスイッチが非常に洗練されているとは思いません。また、どのメッセージがどの「型の値」を持つかについての情報を 2 回 (コンストラクターで 1 回、このスイッチで 1 回) 持っています。

より良い方法を探しています...これを改善するにはどうすればよいですか?

0 投票する
1 に答える
480 参照

delphi - Delphi:コントロールをサブクラス化して復元する適切な時間ですか?

コントロールのサブクラス化を開始する正しい場所/時間は何ですか?

元のウィンドウプロシージャを復元する適切なタイミングは何ですか?

現在、フォームの作成中にサブクラス化しています:

そして私はフォームの破壊中にサブクラスを復元​​します:

これは、コントロール自体をサブクラス化するThemeManagerを使用しない限り、正常に機能します。ThemeManagerもサブクラス化するコントロールをサブクラス化しようとするとすぐに、非常に厄介なエラーが発生します。

作成中にサブクラスを開始して、破棄中に復元するべきではないためだと思います。では、Delphiでコントロールをサブクラス化およびサブクラス化解除するための適切に文書化された時間はどれくらいですか?

0 投票する
1 に答える
889 参照

c# - サブクラス化の設計時に、ユーザーコントロール内のパブリックdatagridviewが「ロック」されます

ラベルとテキストボックスコントロールを含むユーザーコントロールがあります。このクラスでは、修飾子が「public」になるようにテキストボックスを設定しているため、このコントロールをサブクラス化すると、必要に応じて各インスタンスのテキストボックスのプロパティなどに直接アクセスできます。問題ない。

さて、問題。私はまったく同じことをしますが、ユーザーコントロール内のdataGridViewコントロール(および他のいくつか)を使用します。このユーザーコントロールをダウンストリームに派生させる目的で、IT修飾子をpublicに設定します。ここで、このコントロールを新しいコントロールに派生させようとしましたが、dataGridViewに直接触れたり、列やサイズなどを直接追加したりすることはできません。

0 投票する
3 に答える
1723 参照

c# - C#: ネイティブ アプリのステータスバー ペインにラベルを挿入して表示する

ネイティブ Windows アプリケーション内で実行される .Net COM DLL を作成しています。

このアプリのステータスバーに追加のペインを挿入しようとしていますが、そのための特定の実装がないため、アプリのステータスバーを自分でサブクラス化しようとしています。

Win32 API SetParent() を使用して、ラベル コントロールの親を .Net フォームから msctls_statusbar32 インスタンスに切り替えています。ラベルを使用したのは、独自のコントロールを作成しなくても見つけられるネイティブの「静的」クラス コントロールに最も近い実装であるためです。

どういうわけか、NativeWindowをステータスバーとラベルのメッセージの両方に正常にフックすることさえできました(ただし、現時点ではすべてを次のWndProcに渡すだけです)、一致するスタイルとstyleExをラベルのウィンドウに割り当てました、msctls_statusbar32 を親とするラベルを子として見ることができます。すべてが正しく機能しているように見えますが、そうではありません。コントロールが親アプリのステータスバーに表示されません。

私が理解していないのは、なぜそれが表示されないのかということです。私が考えることができるほとんどすべてが正しく一致します-確かに、私のラベルのクラスは「WindowsForms10.STATIC.app.0.378734a」であり、「静的」ではありませんが、それ以外は正しいプロセスとスレッド上にあり、一致するウィンドウがありますスタイル(少なくとも16進値... Spy ++はそれらを異なる方法で列挙しているようです)、そしてすべての目的で、残りのコントロールとほぼ調和しています。それを目に見えるようにするために他に何をする必要があるか誰かが知っていますか?

(私はもともとCreateWindowExのルートをたどり、WNDPROCコールバックを設定していましたが、アプリを動作させることができませんでした.1分ほどフリーズしてからフリーズを解除し、ウィンドウがウィンドウツリーから消えたことに気づきました)

ありがとうございました!

0 投票する
1 に答える
2740 参照

c# - Fluent NHibernate のサブクラスの自動マッピング

私が持っているクラス階層を適切にマッピングするために流暢な nhibernate を取得するのに問題があります。

次のクラス構造があると仮定します

これらのクラスはすべて同じテーブルにマップされるため、クラス階層ごとのテーブル戦略を使用しています。

私が持っている自動マップのオーバーライドは次のようになります。

私の AutoPersistenceModel 生成コードには、次のものがあります

2 つの質問: 1. ここにあるように、StartAction クラスと CeaseAction クラスの自動マッピング オーバーライドを用意し、.Subclass メソッドを MedicationAction 自動マッピング オーバーライドの代わりにそこに配置する必要がありますか? 2. この自動マッピングの結果の hbm では、次のようになります (抜粋)。

ご覧のとおり、識別子の列と値は完全に無視されています。行 (s => s.SubclassStrategy = t => SubclassStrategy.Subclass) を削除すると、正しい識別子列が得られますが、すべてのサブクラス要素が結合されたサブクラス要素になります。サブクラス戦略で実際に識別子の列と値を取得するにはどうすればよいですか? Fluent NHibernate 1.0 RTM を使用しています。

手動マッピングを使用してこれを機能させる方法は知っていますが、これらのクラスには自動マッピングされる他の多くの情報があり、それを維持したいと考えています。

0 投票する
4 に答える
838 参照

c# - 抽象クラスのサブクラスの配列をパラメーターとして持つコンストラクター

私はゲームのプレーヤーインベントリシステムに取り組んでいます。

どの種類のアイテムが許可されているかを表すList<Loot>コレクションを持つ構造体スロットがあります。抽象クラスLootは、ルート可能なすべてのアイテムによってサブクラス化されます。つまり、Slot構造体の有効なContent値になります。

スロットには、 Lootのどのサブクラスに含めることができるかについて制限があることを表現したいと思います。たとえば、スロットが弾薬コンテナを表す場合、 「矢筒」や「ショットポーチ」(ラインのどこかでコンテナをサブクラス化する)などの弾薬コンテナである戦利品サブクラスのみを保持するようにします。

戦利品クラス

コンテナクラス

スロット構造

PlayerInventory

PlayerInventoryクラスのMainメソッドのSlotコンストラクター呼び出しでLootサブクラスの引数を指定する方法がわかりません。

これが明確であることを願っています。前もって感謝します。

編集

私は、David SielerのアプローチといくつかのReflectionを使用して、これを解決することができました(つまり、コンパイルすることができました)。

スロット構造

スロットコンストラクターへのPlayerInventory呼び出し

議論してくれた皆さん、ありがとうございました。

0 投票する
1 に答える
1771 参照

qt - Qt QSliderのスライダーの代わりに絵を描く方法は?

QSliderから継承するクラスを作成しました。普通の絵ではなく、スライダー(グラバー)に絵を描きたいです。どうやってするの?

-

回答を見つけて投稿しました。レスポンダーに敬意を表して、私はその返信を選びます。ただし、同じ問題を抱えている人が誰でも恩恵を受けることができるように、コードを共有したいと思います。