問題タブ [explicit]
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.
sql-server - XML 明示の場合
この設定があるとします:
これは以下を返します:
「for xml auto」を使用すると、次のようになります。
しかし、これは私が必要とするものではありません。ここで示したいのは、@main が、@subA と @SubB という 2 つの子を持つメイン テーブルであることです。@SubA には、@SubA1 と @SubA2 という 2 つの子もあるため、元に戻したいと思います。
「for xml explicit」を使用する必要があると確信していますが、これまでに試したすべての試みのうち、必要な形式を取得できませんでした。
必要な形式でデータを返すクエリの例を誰でも示すことができますか?
ありがとう、マーク
theory - 「明示性」が良いことと見なされるのはなぜですか?
人々が言語、フレームワーク、構造などを「明示的」であると称賛するのをよく耳にします。私はこの論理を理解しようとしています。言語やフレームワークなどの目的は、複雑さを隠すことです。あらゆる種類の詳細を明示的に指定する場合、複雑さを隠しているわけではなく、移動しているだけです。明示性の何がそんなに優れているのか、複雑さを隠すという目的を果たしながら、言語/フレームワーク/API をどのように「明示的」にしますか?
c# - C#: 生成された XML に明示的な名前空間が表示されない
XML ファイルを生成する次の C# コードがあるとします。
requestXML.OuterXML
ショーで見ている XML
それよりも
私が期待するように。私は何を間違っていますか?
c++ - C++ の明示的なコンストラクターと反復子
次のコードを検討してください。
上記はコンパイルする必要がありますか?コンストラクターがマークされているため、そうすべきではないと感じていexplicit
ます。
Microsoft Visual C++ はこれに同意し、明確なエラー メッセージを表示します。cannot convert from 'int' to 'const A'; Constructor for struct 'A' is declared 'explicit'
ただし、Comeau のオンライン コンパイラを使用すると、コードは正常にコンパイルされます。
どちらが正しい?
編集:
興味深いことに、(A に an を追加した後に) に変更vector
すると、両方のコンパイラでエラーが発生します。set
operator <
ただし、とを変更vector<int>
するmap<int, int>
と、両方のコンパイラがコードを受け入れるようになります!vector<A>
map<A, A>
c++ - 多態性クラスへの const 参照を取るコンストラクターに const オブジェクトを明示的に渡す
クラスで問題が発生し、const オブジェクト (ポリモーフィック構造) を、そのポリモーフィック構造の基底クラスへの const 参照を取る明示的なコンストラクターに渡しました。これがサンプルです(これは私のコードからのものではなく、説明用です)
Derived オブジェクトをその基本クラス Base に明示的にキャストした場合にのみ、2 番目のバージョン (Problem の明示的なコンストラクター呼び出し) で正常に動作しているようです。
Problem クラスのコンストラクターを暗黙的に呼び出す場合と明示的に呼び出す場合の違いがわかりません。ありがとうございました!
c# - C#で暗黙的および明示的な演算子を使用する必要があるのはいつですか?
これらの演算子の使用法は何ですか?
c# - 明示的な演算子でインターフェイスを使用できないのはなぜですか?
暗黙的または明示的な演算子でインターフェイスを使用することが許可されていない理由を誰かが知っているかどうか疑問に思っていますか?
たとえば、これによりコンパイル時エラーが発生します。
「インターフェイスへの、またはインターフェイスからのユーザー定義の変換は許可されていません」
ありがとう、
c++ - std :: stringを拡張したいのですが、あなたが思うかもしれない理由ではありません
文字列を効果的に取得するメソッドがあります。ただし、使用したい文字列のサブセットは非常に限られています。私はtypedefのstd::stringをクラスとして考えていて、関数を明示的に呼び出していました。しかし、それがうまくいくかどうかはわかりません。アイデア?
.net - チェックを伴う明示的な動作と暗黙的な動作
質問の仕方がよくわかりませんが、次の状況についてどう思いますか、どの状況を好むか知りたいです。
私たちは、winforms を使用したクライアント サーバー アプリケーションで作業しています。また、別のフィールドに入力すると自動的に計算されるいくつかのフィールドを持つコントロールがあります。したがって、ユーザーが入力すると、別のフィールド、おそらくより多くのフィールドの自動入力が決定されるフィールド通貨があります。
ユーザーが通貨フィールドに値を入力すると、ユーザーが入力した文字列に基づいてキャッシュから Currency オブジェクトが取得されます。入力された通貨がキャッシュ内に見つからない場合、ヌル参照がキャッシュ オブジェクトによって返されます。さらに、アプリケーション層に通貨に基づいて他のフィールドを計算するように要求すると、null 通貨が指定された場合、null 固有のフィールドが返されます。このように、デフォルトの暗黙的な動作は、すべてのフィールドをクリアすることです。これは予想される動作です。より明確にするために、ユーザーが「利用できない通貨」を入力すると、もちろん通知されますが、入力された通貨に依存するフィールドもクリアする必要があります。これは、特定のコントロール値を null に設定することによって行われます。
私が明示的な実装と呼ぶのは、 Currency オブジェクトが null であることを確認することです。この場合、依存するフィールドは明示的にクリアされます。
後者のバージョンの方が明確で、エラーが発生しにくく、テストしやすいと思います。しかし、それは一種の冗長性を意味します。以前のバージョンは明確ではなく、テストで表現されていないアプリケーション層からの特定の動作を暗示しています。たぶん下位層のテストで、下位層を変更する必要が生じた場合、null 通貨が与えられた場合に何か他のものを返す必要がある場合、動機がないというだけのテストが障害になるとは思いません。上位層にバグを導入。
皆さんはどう思いますか?
c# - インターフェイスを明示的に実装するクラス内でメソッドを呼び出せないのはなぜですか?
これが話です。インターフェースを作成しましたIVehicle
。私は自分のクラスにインターフェイスを明示的に実装しましたVehicle.cs
。
これが私のインターフェースです:
ここに私のクラスがあります:
getWheel()
が明示的に実装されていることに注意してください。ここで、Vehicle クラス内でそのメソッドを呼び出そうとするgetWheel()
と、現在のコンテキストに存在しないことを示すエラーが表示されます。誰かが私が間違っていることを理解するのを手伝ってくれますか?