問題タブ [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.
iphone - Objective C -- サブクラスのインスタンス変数の型を狭めますか?
サブクラスで許可されている ivar の型を絞り込むことは可能ですか? このようなもの:
その正確なコードを試してみたところ、Xcode でコンパイル エラーが発生しました。私はそれを回避する方法があるかどうか疑問に思っています。
私が取り組んでいるプロジェクトでは、このような状況が多く発生します。キャストを使用してコードを機能させることができることを理解しています。しかし、そうすると非常に多くのキャストを作成することになり、より良い方法があるかどうか疑問に思っています.
ios - コンパイラのUIViewサブクラスの使用をヒントにする方法
単一のUIWebViewを担当するUIViewControllerのサブクラスがあります。
-(void)loadView
これは単純なケースなので、UIWebViewをオーバーライドしてインスタンス化し、コントローラーのview
プロパティを割り当てます。
UIWebViewのメソッドを呼び出すまではこれで問題ありません。例えば...
...コンパイラの警告につながります...
...view
プロパティがとして宣言されているためUIView
。
今、警告はキャストで簡単に解決されます...
...しかし、私がやりたいのは、インターフェイスに正しいタイプのヒントを提供することです。view
でプロパティをオーバーライドしようとしましたMyViewController.h
が、これもコンパイラを混乱させます。
これが私がしていることであり、これが私がしていることであり、すべて大丈夫であることを私が知っていることをコンパイラー(および私の仲間)に伝える方法はありますか?(そうでない場合は、キャストに固執すると思います。)
TIA
編集: marcus.ramsdenの答えに従ってビュープロパティを再宣言しようとしました:これにより警告(およびキャストの必要性)がなくなりましたが、ビューがまったく表示されなくなりました!コントローラーが要求されたときにUIView(サブクラス)を返すので、なぜこれが必要なのかわかりません...
asp.net-mvc - MVCUpdateModelとサブクラスと基本クラス
実行時に取得されるサブクラスにUpdateModelメソッドを使用することを検討しています。誰かがそれの完全なハッシュを作成しているかどうか、および/または私がしようとしていることを明らかにすることができれば素晴らしいでしょう。することは可能です。
一連の部分ビューの検証を制御するために、一般的なアクションを使用しています。部分ビューごとに特定のアクションを実行しないようにしようとしています。
各部分ビューには、基本モデルから派生した一意のモデルがあります。
アクションでFormCollectionを使用して、送信されたフォーム要素とその値を取得しています。これには、ビューがリクエストを検証するために使用する必要があるモデルのタイプが含まれます。この例では、これがセキュリティに与える影響を無視してください。私はそれらを認識しており、これは内部的な唯一の概念実証です。
これが、コントローラーに渡されたmodelTypeに基づいてサブクラスを返すために使用しているコードです。
StateModelClassFactoryメソッドの戻り型は基本クラスであるため、実際にはサブクラスを返していますが、UpdateModelメソッドで使用されるモデルバインダーは、基本クラス内の値に対してのみバインドします。
この問題を解決する方法について何かアイデアはありますか?
アップデート:
カスタマーモデルバインダーを作成しました。
そして、新しいモデルバインダーを正しい基本クラスに割り当てて、内部で何が起こっているかを確認します。
モデルバインダーをデバッグしてbindingContextを調べると、Modelプロパティは正しいサブクラスを再プリセットしますが、ModelTypeプロパティは基本クラスのプロパティです。BindModelメソッド内でModelTypeを変更することを検討する必要がありますか?もしそうなら、これを行う方法についてのポインタは、ModelTypeのセッターが冗長になっているようです。また、サブクラスのSomeDatePropertyが実際にはPropertyMetadataプロパティにあることに気づきました。...私が望むように動作するのに非常に近いようです。
iphone - 私のサブクラスはメモリリークを引き起こしていますか?
UINavigationControllerとUITableviewをサブクラス化していますが、適切なメソッドとリリース呼び出しをすべて実装しましたが、何らかの理由でビューのメモリリークが発生しています。サブクラスの代わりにネイティブクラスを使用すると、リークすることなくすべてが正常に機能します。
編集:
これが私のスーパークラスヘッダーです:
スーパークラスの実装:
これが私のサブクラスヘッダーです:
およびサブクラスの実装:
サブクラスでメモリリークを引き起こしている可能性があるのは何ですか?私は何かが足りないのですか?(ここにはもっと関連性のあるコードがあります。)
c++ - C++ 用の行ベースのスレッドセーフな std::cerr
std::cerr
行単位でスレッドセーフになるように独自のものを作成する最も簡単な方法は何ですか。
私はできればそれを行うためのコードを探しています。
私が必要とするのは、あるスレッドによって生成されたa line of output
(で終了する)が、コンソールで実際に表示されたときに残るようにすることです (そして、他のスレッドの出力と混合されません)。std::endl
as a line of output
解決策: cstdio よりもはるかに遅いstd::cerr
です。私は、コンストラクターがスレッドセーフなロックを取得し、デストラクターがそれを解放するクラスfprintf(stderr, "The message")
内で使用することを好みます。CriticalSectionLocker
python - サブクラス化された文字列を所定の位置に変更します
次の文字列サブクラスがあります。
私はこれが次のように機能することを期待しています:
代わりに私はこれを取得します:
文字列を所定の位置に変更する方法はありますか? これは、可変文字列と不変文字列の違いに関係していると思います。サブクラス化は、文字列を可変オブジェクトとして扱う正しい方法のようです(少なくとも、Pythonのドキュメントによると)が、実装にいくつかの重要な部分が欠けていると思います。
clr - 誰かがCLR/DLRサブクラスのオーバーヘッドを説明できますか?
CLR準拠のコード(つまりC#)を使用して作成されたライブラリがあり、DLR(つまりIronPython)を使用してそれらのクラスの一部をサブクラス化した場合、これはCLRライブラリ(つまりキャストなど)の速度に影響しますか? CLR準拠のコードのみを使用してサブクラス化されましたか?
DLRが私のCLRライブラリに必要なコードをオーバーライドしない限り、答えが「いいえ」であることを願っています。私は経験的に答えをベンチマークするためにいくつかのコードを書くことができますが、誰かが知っているかどうか疑問に思いました。
明けましておめでとうございます!
ジョン
delphi - Delphi:サブクラスを逆の順序で削除する方法は?
Mike LischkeのTThemeServices
サブクラス。これにより、テーマが変更されたときにApplication.Handle
Windows(つまり)からブロードキャスト通知を受信できるようWM_THEMECHANGED
になります。
Application
オブジェクトのウィンドウをサブクラス化します。
次に、サブクラス化されたウィンドウプロシージャは、想定どおりにWM_DESTROY
メッセージを送信し、そのサブクラスを削除してから、次のメッセージを渡しWM_DESTROY
ます。
TThemeServices
オブジェクトはシングルトンであり、ユニットのファイナライズ中に破棄されます。
そして、それはすべてうまく機能します-TThemeServicesがアプリケーションのハンドルをサブクラス化した唯一の人である限り。
Application.Handle
私は同様のシングルトンライブラリを持っていますが、これもフックしてブロードキャストを受信できるようにしたいと考えています。
そして、ユニットがファイナライズすると、私のシングルトンも同様に削除されます。
今、私たちは問題に行き着きます。誰かがThemeServices
またはにアクセスすることを選択する可能性のある順序を保証することはできませんDWM
。それぞれがサブクラスを適用します。また、Delphiがユニットをファイナライズする順序もわかりません。
サブクラスが間違った順序で削除されており、アプリケーションを閉じるとクラッシュします。
直し方?私が終わった後に他の人が完了するまで、サブクラス化メソッドを十分長く保つにはどうすればよいですか?(結局、メモリをリークしたくない)
も参照してください
更新: Delphi7はを書き直すことでバグを解決しているようですTApplication
。><
Grrrr
言い換えると、TApplicationをサブクラス化しようとするのはバグであり、BorlandはMikeのを採用したときに修正しましたTThemeManager
。
TApplication
これは、サブクラスを逆の順序で削除する方法がないことを意味している可能性があります。誰かがそれを答えの形で入れて、私はそれを受け入れます。
python - Satchmo の Category モデルをサブクラス化すると、「'Manager' object has no attribute 'root_categories'」というエラーが発生する
現在構築中のウェブサイトの一部として Satchmo を使用しています。現時点では、Satchmo の Category クラスにさらに関数を追加しようとしていますが、Satchmo ファイルに変更を加える予定はありません。そこで、Category クラスをサブクラス化すると、Satchmo Category のすべてのプロパティとメソッドを含む新しいクラスが作成され、独自のクラスを追加できるようになると考えました。ただし、Python のサブクラス化がそのように機能しないか、間違っています。カテゴリをサブクラス化するために使用しているコードは次のとおりです。
Category クラスから通常使用できるメソッドの 1 つは次のとおりです。
ただし、アクセスしようとすると
次のエラーが表示されます。
これを解決するために誰かが私を正しい方向に向けることができますか?
android - Android で View サブクラスを適切に作成して使用するにはどうすればよいですか?
ここで見つかったソリューションの1つを実装しようとしています。
私の問題は、サブクラスを正しく実装して使用しているかどうかわからないことです。ここで WebView をサブクラス化しています。
非公開にする必要がありますが、今は忘れてください。ビュー階層に内部 webview を持つアクティビティの 1 つの内部にコードがあります。そのアクティビティの onCreate メソッドの外。
onCreate メソッド内には、次のものがあります。myWebView mapImage = (myWebView) findViewById(R.id.mapcroppic);
これにより、その呼び出しに対して ClassCastException が発生します。(xml レイアウト ファイルを使用する必要があります<myWebView>
か?使用できますか?)これを正しい方法で使用するにはどうすればよいですか?