問題タブ [custom-collection]
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# - IEnumerable vs ICollectionvsIListを使用したカスタムコレクション
GenericCollection
独自のカスタムクラスを設計する必要があります。IEnumerable
今、私は、、、ICollection
およびを使用してそれを導出するための多くのオプションがありIList
、後でいくつかの追加機能を提供します。
IEnumerable<T>
この場合のように、実際にコレクションを保持するためにオブジェクトを宣言する必要があるかもしれないと私は少し混乱しています_list
。
しかし、ICollection<T>
またはを使用する場合は、暗黙的に使用可能であるため、オブジェクトIList<T>
を宣言する必要はありません。List
パフォーマンスに関して、これら2つのアプローチの違いは何ですか?
どのシナリオでは、特に独自のコレクションをデザインする場合に、それぞれが優先されます。パフォーマンスの良い軽量コレクションに興味があります。これはを使用して達成できると思いますが、それを使用IEnumerable<T>
するいくつかの強力な理由とどの程度正確に一致しますか?
いくつかの既存の投稿を確認しましたが、必要な情報を提供しているものはありません。
c# - ジェネリック コレクションを使用してカスタム タイプ セーフ コレクションを実装する方法は?
クラスから派生した厳密に型指定されたコレクションを使用しましたがCollectionBase
、タイプセーフなジェネリック コレクションから継承するように変更したいと考えています。から継承することをお勧めする人もいれList<T>
ば、 を使用することをお勧めする人もいますCollection<T>
。私がやりたいことはこれです:
1) カスタム クラスがあり、そのカスタム クラスのインスタンスのみを保持するコレクションを作成しています。
2) カスタム コレクション クラスに含めたいプロパティとメソッドがいくつかあります。たとえば、Id
プロパティまたはIsBlahBlah()
メソッドが必要です。
これをどのように進める必要がありますか?CollectionBase
クラスから派生していたとき、InnerList
プロパティを使用して要素にアクセスしていました。Items
使用することを選択した場合、プロパティを使用する必要がありますCollection<T>
か?
次のようなことをしています:
正しい方法?のメソッドに干渉することなく、すぐに正しく動作しCollection<T>
ますか?
追加の質問: Google で「厳密に型指定されたコレクション」を検索すると、常にそのCollectionBase
クラスを含む結果が表示されます。厳密に型指定されたコレクションとタイプセーフ コレクションの違いは何ですか?
oracle - パッケージで定義された UDT をパラメータとして Oracle のストアド プロシージャに渡す
カスタム コレクションと、このカスタム コレクションを入力パラメーターとして持つストアド プロシージャを定義するパッケージが作成されます。この proc を c# から呼び出すにはどうすればよいですか?
パッケージは次のとおりです。
customCollectionType のファクトリ実装は次のとおりです。
呼び出しは次のとおりです。
.Net のエラーは次のとおりです。
"OCI-22303: タイプ \"USER_NAME\".\"CUSTOMCOLLECTIONTYPE\" が見つかりません"
wcf - カスタム コレクション null (WCF サービスを介して渡される場合)
次のようなカスタム コレクションがあります。
これらを次のようなオブジェクトで使用します。
ここで、WCF サービスを呼び出して、これらの種類のリストを含むオブジェクトを渡します。サービスでは、リストは常に null になります。
これはシリアル化などと関係があると確信しています。
これを機能させるために既存のオブジェクトに最小限の変更を加える必要がある最も簡単なソリューションは何でしょうか?
java - コレクション.addのメソッドをイテレータだけで実装する
イテレータのみを使用してコレクションのすべてのメソッドを実装する必要があります。
私のイテレータ:
データ、それは私自身のコレクションのarraylistです。
たとえば、私のコードではメソッド サイズが実装されています。
しかし、メソッドを実装する方法がわかりません.add
。
その問題で私を助けてください。
c# - DataContractSerializer を使用した逆シリアル化の後、Collection は読み取り専用になります
これは非常に簡単なはずですが、ビジネス オブジェクトDataContractSerializer
内のすべてのカスタム コレクションを使用してビジネス オブジェクトを逆シリアル化した後、読み取り専用になりました。
正確には、コレクション内のアイテムを交換して逆シリアル化後にコレクションを操作しようとしていますが、これはコレクションが読み取り専用であるという例外をスローしています。ただし、連載前は大丈夫です。
タイプ 'System.NotSupportedException' の未処理の例外が mscorlib.dll で発生しました 追加情報: コレクションは読み取り専用です。
これが、カスタム コレクション クラスを装飾した方法です。
これは、ビジネス オブジェクト クラスを装飾した方法です。
シリアライゼーションとデシリアライゼーションのコード: