問題タブ [writeonly]

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

.net - カスタム *書き込み専用* 依存関係プロパティを作成するにはどうすればよいですか?

書き込み専用の依存関係プロパティを作成するための手順を知る必要があります。DependencyProperty クラスには書き込み専用プロパティ用の特別な "Register" メソッドがないことがわかりますが、RegisterAttached メソッドが私がやろうとしていることに適用できるかどうかはわかりません。

このプロパティは、単純な CLR プロパティではなく、依存関係プロパティである必要があります。内部的には、私のクラスは、安定性を維持するために、このプロパティに PropertyChangedCallback を必要とします。


Pro C# 2008 and the .NET 3.5 Platform, Page 1061に明確に記載されているため、書き込み専用の依存関係プロパティを作成できることは知っています。
ただし、これは、同じページで「依存関係プロパティ」と「書き込み専用」を見つけることができる唯一の場所です。そして、この著者は、基本的な読み取り/書き込み依存関係プロパティ以外の手順を実際に読者に示す必要はないと考えていたようです。もちろん、この本は大雑把かもしれませんが、この本はかなり標準的に見えるので、著者が正しいというのはかなり安全な賭けだと思います. インターネット上で情報が不足しているのは、一般的にこのようなプロパティを作成する必要がある人がいないという事実に起因すると思います.

独自の書き込み専用の依存関係プロパティを作成したいというのは、非常に疑わしいと思います。私が望むところは理にかなっていることを保証します。私のクラスには、値を設定するオブジェクトにのみ役立つプロパティがあります。後で別のオブジェクトがこのプロパティの値を要求した場合、セッターの元のコンテキストを知らなければ、値から合理的な意味を理解することはできません。

このプロパティは、情報提供を目的として使用することを意図したものではありません。外部オブジェクトがこのようにプロパティ値を使用しようとすることは、問題があり、危険であり、セキュリティ リスクです。したがって、このプロパティでの読み取り操作を禁止するのが最善の設計だと思います。私のクラスを使用する人は誰でも、クラスを意図したとおりに使用せざるを得ないことに気付くでしょう。

0 投票する
5 に答える
1084 参照

c++ - C ++での書き込み専用参照?

オブジェクトへの書き込み専用参照をコーディングする方法はありますか? たとえば、次のミューテックス クラスがあるとします。

これができないことを保証する方法はありますか:

一方で、それだけの価値はありますか?プログラマーが故意にシステムを破壊することはないと考える人がいることは知っていますが、そもそもなぜプライベート変数があるのでしょうか? 「未定義の動作」とだけ言っておけばよかったのですが、それは少し安全ではないように思えます。

編集: OK、セッター ルーチンのアイデアは理解できますが、これはどのように実現できますか?

foo.unlock(); set ルーチンを使用すると、書き込みごとにコピーが必要になります。

この特定のケースでは自明に最適化できますが、たとえば、いくつかの異なるスレッドがすべて要素をプッシュしており、いくつかのスレッドを消去している場合、これはかなりの過剰なメモリ コピー (つまり、クリティカル セクションごとに 1 つ) になる可能性があります。

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

couchdb - CouchDB 書き込み専用データベース

一般に書き込み可能で、「管理者」ロールのみが読み取り可能な CouchDB データベースをセットアップしようとしています。これどうやってするの。validate_doc_updateドキュメントにアクセスするための同様の機能はありますか?

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

c# - C#コンパイラのバグ? 式の書き込み専用プロパティに使用されるオブジェクト初期化子構文により、csc がクラッシュする

これはバグ報告だと思われるかもしれませんが、ここで私がひどく間違っているのか、それとも Eric や Microsoft の誰かから説明があるのか​​知りたいです。

アップデート

これは現在、Microsoft Connectのバグとして投稿されています。

説明

次のクラスを検討してください。

ここでA.Bは、書き込み専用ですが、それ以外は問題のないプロパティです。ここで、式の中でそれを代入すると
想像してください:

このコードにより、C# コンパイラ ( 3.5 .30729.4926 と4.0 .30319.1 の両方) が出力されます。

内部コンパイラ エラー (アドレス 013E213F の 0xc0000005): 原因はおそらく 'BIND' です。

クラッシュします。

ただし、オブジェクト初期化構文 ( { }) をコンストラクター ( ( )) に置き換えるだけで、問題なくコンパイルできます

再現用の完全なコード:

(そして、はい、実際のプロジェクトに取り組んでいます。

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

oop - オブジェクト指向言語を設計するとき、書き込み専用プロパティを避けるべきですか?

学習目的でオブジェクト指向プログラミング言語を設計しています。言語には、次のようなプロパティがあります。

書き込み専用プロパティのオプションを追加する必要がありますか?それとも、この言語を使用するプログラムで不適切な設計上の決定につながるだけですか?

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

ftpwebrequest - c# ftp 書き込みのみ

次のコードは、「書き込み専用」の ftp に接続しようとすると例外をスローします。

フレームワークは次のように FTP コマンドを実装するため、GetRequestStream() は「許可が拒否されました」例外をスローします。 - open - user - pwd

助けてください?

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

qt - 「file.open(QIODevice :: ReadOnly)」とはどういう意味ですか?

私はQtを初めて使用し、GettingStartedページで学習していまし。次のステートメントの意味と、なぜそれらが必要なのかを知りたいのですが。

オープン機能の場合:


保存機能でも:

これらの行がないと、これらの関数を実行できませんでした。ドキュメントのエラー処理について読んでみましたが、これらのステートメントの意味を正確に見つけることができませんでした。

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

c# - クラスから「ReadOnly」または「WriteOnly」プロパティを取得するにはどうすればよいですか?

「読み取り専用」のものを除いて、MyClassからプロパティのリストを取得する必要がありますが、「それらを取得できますか?」

そして最後に、私はそれらをソートしますか?、OrderBy <>を追加することを知っていますが、どのように?私は拡張機能を使用しています。前もって感謝します。

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

java - Java スレッドセーフな書き込み専用ハッシュマップ

私の Java クラスでは、 Hashmap変数 (クラス プロパティ) を含め、書き込み専用のスレッドをいくつか実行しますHashMapput()書き込みが発生するたびに、一意のキーが格納されます (これは設計によって行われます)。

クラスメソッドのキーワードはsynchronized書き込み専用で、広告セーフ条件に十分ですか? 私の HashMap はシンプルで、ConcurrentHashMap?