問題タブ [static-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.
c# - 静的クラスC#コンストラクターOOP
私はOOPを初めて使用し、静的クラスを理解していないと思います。
テキストブロックの外観を変更するための静的クラスActionsと1つの静的メソッドを作成したいと思います。
これが私のコードです:
それは機能しますが、クラスのインスタンスをいくつか作成する必要があります。これはIMHOでは役に立ちません。
私はこのようにそれを好むでしょう:
私は知っています、静的クラスと静的コンストラクターを定義する必要があります:
問題は、静的コンストラクターでプライベートメンバーStatusColorsにアクセスできず、StatusColorsのインスタンスを作成できないことです。
それを解決する方法はありますか?
ありがとう。
android - AppContext.getResources().openRawResource() の有効性
同じ アプリケーションにアクティビティ A、アクティビティ B、および静的クラスがあります。シナリオは次のとおりです (ここでは簡略化しています。私のソフトウェアではより理にかなっています)。
- (アクティビティ A) mAppctx = this.getApplicationContext();
- (アクティビティ A) StaticClass.appctx = mAppctx;
- アクティビティ B が生成されます
- アクティビティ B の実行中にアクティビティ A がシステムによって破棄されたとします。
- アクティビティ B は次のことを行います (疑似コード): ..... = StaticClass.appctx.getResources().openRawResource(...);
これは正しいです?
アプリケーションContext は Application (つまり、プロセス) に属し、 Activity に属していないため、正しいと思います。この方法で、静的クラスから問題なく APK リソースにアクセスできます。(アクティビティ B が実際に自分で getApplicationContext() を要求できることはわかっていますが、上記の質問は意図的に異なります。)
c# - C#でクラスを実装する静的/シングルトンインターフェイス
私は(今)静的なクラスを持っています:
そして、それはうまくいきます。コード呼び出し:
そして、すべてが世界で正しいです。今、私は私のクラスにインターフェースを実装させたいです:
残念ながら、それはうまくいきません。理由があります。
だから私はクラスをシングルトンに変更してみます:
これは、機能しないことを除いて、十分に機能します-コードはコンパイルされなくなります:
他の言語では問題ありません。私はグローバルGrob
関数を作成します(Grob
それが既存のコードに必要な名前であるために呼び出されます):
ただし、C#にはグローバル関数がありません。
最終的には:
- グローバル関数は必要ありません
- インターフェイスを実装するために静的クラスは必要ありません
- シングルトンは必要ありません
私はそれをすべて機能させたいだけです。
widget - 静的クラスを含む名前のないウィジェットプールをクリアまたは削除する方法
Progress10.1cを使用しています
静的メソッドと非静的メソッドの両方を含むクラスがあります。
クラスはUSE-WIDGET-POOLで定義されます。デストラクタでは、「DELETEWIDGET-POOL」と言います。
クラスのインスタンスを作成し、メソッドを呼び出します。メソッド自体は、クラスの静的メソッドの1つを使用します。したがって、正しく理解すれば、クラスのインスタンスが独自の名前のないプールにあり、クラスの静的メンバー用に別の名前のないウィジェットプールがあります。
ここまでは順調ですね。しかし、私はデバッグで忙しく、コードに変更を加えています。再コンパイルしてテストを再実行します。これで非静的メンバーは機能しますが、すべての静的メンバーは古いバージョンのクラスからのものであり、セッションにスコープされている静的メンバーのプールに引き続き保存されます。つまり、デストラクタの「DELETE WIDGET-POOL」は、クラスのインスタンスのプールを削除しましたが、静的メンバーのプールはまだ存在しています。
新しいバージョンのクラスをロードするための唯一の方法は、セッションからログオフしてから再度ログオンすることです。これは私たちの環境におけるかなりの使命です。変更を加えるたびに、開発環境を停止して開始する必要があります。
セッションでオブジェクトのリストを調べようとしましたが、探しているものが見つかりませんでした。間違ったオブジェクトから始めているか、進行中のプールとオブジェクトに関する知識が不足している可能性があります。
毎回セッションを破棄せずに、その名前のないプールをターゲットにして、クラスの静的な「インスタンス」を削除する方法はありますか?
android - 静的クラスからAsyncTaskを呼び出す
別のクラスを呼び出す必要がある静的クラスがあります。最初のクラスは静的であり、次のエラーで2番目のクラスを呼び出すことができません。
AsyncTaskクラス
静的クラス
ありがとう!
php - PHP 静的クラスまたは名前空間
名前空間の代わりに静的クラスを使用することについて、人々の意見を評価したいと思っています。私は C++ のバックグラウンドを持っており、その構文とコードを構造化する方法が非常に気に入っています。最近、ファイルだけでなく、コードを論理ユニットにグループ化する必要があると判断しました。たとえば、私は User::login よりも user_login のような呼び出しを好みます。そこで、少しグーグルで調べてみたところ、PHP に名前空間があることがわかって安心しました。私の安堵は長続きしませんでしたが、私は構文が本当に好きではありません。それは私の関数呼び出しにさらに混乱を加えます。そのため、現時点では静的クラスを使用して名前空間をシミュレートしています。これには欠点がありますか?
PHP Namespaces vs Classes with static functionsで同様の質問を見つけましたが、それほど多くの議論はありませんでした。
また、次の状況を回避する方法はありますか。
名前を指定せずに同じクラスの関数を呼び出しても問題ないと思いましたが、どうやらそうではないようです。そのための回避策はありますか (たとえば、C++ では using キーワードがあります)。
c# - Enum を使用した C# 静的クラス
しばらく頭を悩ませているトリッキーな質問があります。次のコード宣言があります...
そして、私はそのようにコードを呼び出します " ParameterUtilities.ParameterEnum.MAX_LOGIN_ATTEMPTS "問題は、満月ごとに1回、この行に「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されることです...コードが99.9%しか機能しないようです当時の...
私に起こる唯一のことは、列挙型は値型であるため、静的クラスが呼び出されたときに列挙型が null になる可能性があるということです...しかし、この動作に関するドキュメントが見つかりません...
誰かがなぜこれが起こるのか教えてもらえますか? おそらく静的クラスから列挙型を削除し、列挙型をスタンドアロンとして宣言する必要があることはわかっていますが、なぜこれが最初に起こっているのか知りたいです...
ありがとう、S
アップデート
わかりました、より多くのコードを求めたすべての人に、以下はエラーが発生する完全な機能です...
c# - アプリケーションの 2 つのインスタンスとそれがロードする dll
異なるコマンド ライン パラメータで 2 回実行される実行可能ファイル (VC++) があるため、基本的に 2 つのインスタンスが実行されています。この実行可能ファイルは C# dll をロードします。最初に知りたいのは、dll の 2 つのインスタンスが 2 つの異なるインスタンスにロードされるかどうかです。はいの場合、dll に静的クラスがあります。これをインスタンス化する方法、つまり、静的クラスの 2 つのインスタンスがあるか、2 つのプロセス間で共有されますか。
実行可能ファイルの 2 つのインスタンスを実行しようとすると、1 つのインスタンスのみが dll の読み込みに成功します。
xaml - 静的クラスの静的プロパティへの双方向バインディング
それは真剣に不可能ですか?静的クラスのプロパティに一方向をバインドするソリューションがあり、確かに非静的クラスの静的プロパティに双方向をバインドするソリューションがあります...しかし...
つまり、回避策は簡単です。静的インスタンスゲッターを使用して静的クラスをシングルトンにすることができます(こちらを参照)が、適切な方法はありませんか??
私のクラスは次のようになります。
そして今、セッターで「通常の」方法でINotifyPropertyChangedを適切に実装していると仮定してください(簡単にするために省略)。
このプロパティに双方向でバインドするには、XAML はどのように見える必要がありますか? ありがとう。
android - ダウンロードした画像が表示されていない間、進行状況バーが小さい
現在、Asynctask の拡張イメージをダウンロードするクラスがあります。ユーザーに画像がそのスペースに読み込まれていることを示す小さな進行状況バーを実装したいと思います。Asynctask クラスをクラス アクティビティ内に配置しようとしました。問題は、クラスを静的にする必要があるクラスを呼び出すことです。しかし、静的クラスを配置すると、進行状況ダイアログを制御できません。
私のクラス DownloadImage:
ProgressBar を作成するには、クラスをアクティビティにする必要があると思います。
これは私が私の問題に対して作成した解決策です:
問題は、DownloadImage を呼び出す場合、このクラスは静的でなければならないことですが、静的に宣言すると、静的として宣言されていない限り、progressBar を使用できず、静的だと思う場合はアクティビティで作成できません。
解決策はありますか?
ありがとう、私の下手な英語でごめんなさい