問題タブ [private-members]

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 投票する
2 に答える
597 参照

c++ - C++ では、クラスにフレンドを追加するとメモリ レイアウトが変更されますか?

また、クラスのどこで friend を宣言するかは重要ですか? フレンド クラスを追加するか、フレンド関数を追加するかは重要ですか?

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

vb.net - プライベート変数のインスタンス化: 定義時またはコンストラクター内で?

これが以前に尋ねられたかどうかはわかりませんが、今日、私の仕事でそれについて話し合っています. プライベート変数 (共有/静的) は、ディメンション化/定義されているときにインスタンス化する必要がありますか?それとも、コンストラクター内でこれを行う方が良い方法ですか?

たとえば、これは私にはまったく問題ないようです...

しかし、他の人はこのようにすべきだと言っています...

違いはなんですか?どちらを使用するかについて共通のコンセンサスはありますか?

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

c++ - C++ は、静的メンバー関数からプライベート メンバー変数を変更します

コードを読んでいるときに、そのクラスのインスタンスへのポインターを介してそのクラスのプライベートメンバーを変更する静的メンバー関数があることに気付きました。

コンパイルして問題なく機能しますが、この方法でプライベート変数を編集するのがコーシャーであるかどうか、メンバーであるが静的関数からかどうか、またはパブリック setVar 関数を実装する必要があるかどうかを知りたかっただけです。

静的関数からメンバー変数を編集することで標準的なコーディング手法を回避しようとしているわけではないことに注意してください。関数は必ず静的であるため、POSIX pthread ライブラリを使用してスレッドとして実行できます。

乾杯、ワイアット

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

c# - 内部プライベートクラスのPrivateTypeをインスタンス化する方法

プライベート内部クラスの単体テストをセットアップしようとしましたが、ほとんど成功しませんでした。

私はこのコードを試しました:

と同様

無駄に。

アセンブリの名前は「Stats.Model」で、タイプ名も正しいように見えますが、「System.TypeLoadException:タイプを読み込めませんでした」という例外が発生します。

だから私は何が間違っているのですか?

私の知る限り、PrivateTypeはリフレクションベースであり、名前空間のすぐ下にプライベートクラスを設定することはできないため、このシナリオを対象としていると思います。

編集:

DailyStatKeyの完全な実装を追加しました。テストしたいのは、GetHashCodeメソッドの一意性です。ご覧のとおり、日付と型を1つの整数に収めようとしています。

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

javascript - Javascript: 実装を非表示にする必要がありますか?

C# プログラマーとして、私はプライベートにすることができ、プライベートにするべきものをプライベートにする習慣があり、JS 型がすべてのプライベートな部分を私にさらすと、いつも奇妙な気分になります (そして、その気持ちは「興奮」しません)。 )。draw内部的にdrawBackgroundandを呼び出すメソッドを持つ型があるdrawForegroundとします。これは、単独で呼び出されても意味がありません。これをどのように実装すればよいですか?

オプション1

オプション 2

もちろん違いは、最初の例ではdrawBackgroundanddrawForegroundメソッドがパブリック API の一部であるのに対し、2 番目の例では外部に隠されていることです。それは望ましいことですか。どちらを優先する必要がありますか? C# の習慣を Javascript に適用するのは間違っていますか? Javascript ですべてを拡張可能にしてオーバーライド可能にする必要がありますか? そして、のパフォーマンスへの影響は.call(this)何ですか?

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

c# - C#で変数を「プライベート」として宣言すると、Windowsのメモリがメモリスキャナによってアクセスされないように保護されますか?

私の同僚はいつも、何かを「パブリック」として宣言すると、どのプログラムもそのメモリにアクセスできるため危険であり、解決策は「プライベート」アクセス修飾子を使用することだと私に言います。

これが事実かどうか疑問に思っています。

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

python - Python のプライベート変数とメソッド

重複の可能性:
Python でのオブジェクト名の前の単一アンダースコアと二重アンダースコアの意味

Python のプライベート メンバーとメソッドには、(_fooアンダースコア) と(ダブル アンダースコア) のどちらを使用すればよいですか?__bar

0 投票する
0 に答える
2782 参照

c# - ViewModel と Model でプロパティへのプライベート セットとパブリック get アクセスを維持する

したがって、現在、ViewModel に次のようなクラスがあります。

アセンブリのセットアップ方法は、ビューがビューモデルとモデルにアクセスできるようにすることですが、ビューモデルはモデルにしかアクセスできず、モデルはそれ自体にしかアクセスできません。

IsInModeモデルからこのプロパティにアクセスする必要があります。IsInModeプロパティはアプリの起動時に初期化され、その後は決して変更されないことを知っています。これまでの私の考えでは、モデル層に変数を持つ別のクラスを作成get; private set;し、ビューモデル層IsInModeにそのオブジェクトのインスタンスを作成し、ビューモデルのプロパティをMyClassプログラムすると、の状態を返しますこのモデル オブジェクト。getsIsInMode

これは、この問題を解決するための最良の方法ですか?

問題は、モデル層以上でのアクセスを維持しながら、他のクラスがこのモードの状態を変更することを避けたいことです。また、ViewModel クラスから離れたプロパティへのアクセスを維持したいと考えています。

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

php - クラスメンバーへのGettext文字列の割り当て

x言語に翻訳されるサイトを作っています。

すべての文字列をローカライズする必要があります。

データベースから取得した言語名や国名などの情報を表示する必要がある場合があります。このように扱われるデータはめったに変更されません-上記のように、私は言語名、国などについて話しています。

この例では、サイトのUIが変換された言語を保持する配列を使用しています。名前の翻訳を許可するために(「言語の変更」フラグ/リンクがホバーされたときにタイトルテキストに使用されます)、次のような配列があります*:

それらを使用して、特定の言語に関連する名前文字列を取得します。

現在、グローバル配列を使用しています。

使用法:

出力(ロケール= en_GB):

中国語(簡体字

出力(ロケール= zh_CN):

简体中文</p>

私はむしろこの(そして他の)定数配列をクラスのプライベートメンバーとして宣言したいのですが、PHPは喜んでいないようです:

結果:

頭を下げてグローバル配列に戻る必要がありますか、それともこの方法で使用する「定数」配列を使用するための別のより良い方法がありますか?

*配列キーは、言語コードとUI変換があるかどうかを格納するデータベーステーブルからのものです。

解決

0 投票する
7 に答える
98727 参照

java - Java でのリフレクションを介したプライベート継承フィールドへのアクセス

class.getDeclaredFields(); 継承されたメンバーを取得し、プライベートメンバーにアクセスする方法を見つけましたが class.getFields() 、プライベート継承フィールドを探しています。どうすればこれを達成できますか?