問題タブ [derived]

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 に答える
26141 参照

c# - 派生クラスの C# XML シリアル化

こんにちは、クラスから派生したオブジェクトの配列をシリアル化しようとしていますが、c# を使用して同じエラーが発生し続けています。どんな助けでも大歓迎です。

明らかに、この例は、現実の世界でのこの記事の目的のために縮小されています。形状には、さまざまな形状が多数含まれています。

Program.cs

Shape.cs

Square.cs

エラー: System.InvalidOperationException: XMLInheritTests.Square 型は予期されていませんでした。XmlInclude または SoapInclude 属性を使用して、静的に認識されていない型を指定します。

Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterShapeA 配列.Write2_Shape (文字列 n、文字列 ns、形状 o、ブール値 isNullable、ブール値の型が必要) で

Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterShapeA 配列.Write3_ArrayOfShape (オブジェクト o) で

どうもありがとう

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

c# - Comparer でのメソッド解決

次の基本的なクラス レイアウトを検討してください。

そして、それらを次のように使用します。

x パラメーターと y パラメーターの両方が Derived インスタンスである状況では、Comparer が Derived.CompareTo メソッドを呼び出すことを期待していました。

ただし、これは当てはまらず、代わりに Base.CompareTo が呼び出され、なぜなのか疑問に思っています。C# 言語仕様で説明されているように、オーバーロードの解決規則に関する私の基本的な理解では、この動作を差し引くことはできないようです。

誰かが私のためにこれに光を当てることができますか?

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

c++ - 自己参照する派生クラスを処理するC ++

したがって、C ++でこのようなツリークラスがあるとします

これで、specialTree の子にアクセスするたびに、明らかに、specialNode* ではなく Node* が取得されます。

しかし、この specialNode* には、Node にはないメンバー変数と関数があります。

specialNode が子としてのみ specialNode を取得し、それ以外の場合はコンパイル時に中断するように強制することはできますが、子/親にアクセスするときに Node* を取得し、specialNode 関数であっても、特別な関数を使用するときはいつでもそれをキャストする必要があります。

これを行うための賢い方法、またはより良い方法はありますか? 文字通り毎回キャストする以外に?

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

c++ - 型消去とアクセサー

C++ で型消去パターンを使用しました。つまり、テンプレート クラスを抽象クラスで非表示にしました。

問題 : データを取得または変更する場合は、Base クラスを使用する必要があります

アクセサ getDatas() および SetDatas(vector datas) を定義するにはどうすればよいですか?

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

c++ - 奇妙なコンパイラエラーとテンプレートの継承

誰かがこのコードの理由を説明してもらえますか?

次のコンパイラエラーが発生しますか?

どちらのsafe_boolテンプレートもから派生してsafe_bool_baseいるため、基本クラスの保護されたメンバーにアクセスできない理由がわかりません。

私は何かが足りないのですか?

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

c++ - 派生* からベース* への変換がプライベート継承で失敗するのはなぜですか?

ここに私のコードがあります -

これにより、コンパイル時エラーが発生します。

コンパイラは基本クラスを呼び出そうとするので、sid()なぜこのエラーが発生するのですか? 誰かがこれを説明してもらえますか。

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

c++ - 派生クラスから基本メソッドを呼び出す

たとえば、次のようなクラスがあります。

私はそれから新しいものを導き出します:

そして私は見たい:

派生クラスからメソッドを呼び出すことはできますか?

0 投票する
6 に答える
2571 参照

c++ - 派生クラス関数

ワーカークラスでファイルをコンパイル中にエラーが発生しました:

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

asp.net-mvc - 基本型への ASP.NET モデル バインド

View Models がすべて継承する BaseViewModel があります。

私のコントローラーでは、ファクトリ メソッドを使用して、入力に基づいて正しいビュー モデルを返します。

TryUpdateModel を使用して、「TitleOfPublication」キーが含まれていることがわかっている FormCollection にバインドしようとすると、ビュー モデルに設定されません。

これは、BaseOutputViewModel を使用して FormCollection キーをバインドする DefaultModelBinder と関係があると思います。「TitleOfPublication」は含まれていませんが、派生 MagazineViewModel には含まれています。

DefaultModelBinder の BindModel 動作をオーバーライドするために、独自のモデル バインダーを作成しようとしています。すべて正しく配線されており、TryUpdateModel 呼び出しの直後にデバッグできます。

しかし、bindingContext の操作方法がわかりません。派生したビュー モデル プロパティを使用してバインドするように DefaultModelBinder に指示できるようにするには、何を更新する必要がありますか? それとも、私はこれを完全に誤解していますか!

MvcContrib の DerivedTypeModelBinder と同じように、CreateModel をオーバーライドしようとしましたが、バインダーに操作するモデルのインスタンスを与えているため、CreateModel が呼び出されることはありません。Mvc DLL で Reflector を使用すると、モデルが null の場合にのみ CreateModel を呼び出す "BindComplexModel" が存在します。

どんなポインタでも大歓迎です!

乾杯

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

c++ - 派生クラスのコピー コンストラクターの初期化リストの基本クラス (C++)

例を次に示します。

Base のプロパティをコピーするために、Derived の初期化リストに Base のコピー コンストラクターを含めるという提案を読みました (例のように)。

ただし、Base のコピー コンストラクターがそれ自体 (* this) を他のオブジェクト (そのオブジェクトに登録される) に渡すようにしています。実際にオブジェクトがある場合、Derived のコピー コンストラクターの初期化リストで Base の (既定の) コンストラクターを (暗黙的または明示的に) 使用し、Derived のコピー コンストラクターの本体でのみ Base のコピー コンストラクターを呼び出す必要がある場合でしょうか。 Baseのコピーコンストラクターでアタッチできますか? Else - (* this) は有効なオブジェクトですか?