問題タブ [icollection]
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.
asp.net - ユーザー コントロール属性に動的にアクセスするにはどうすればよいですか?
ページのユーザーコントロールへのリンクがページの上部に配置される「ユーザーコントロールメニュー」を作成しようとしています。これにより、ページにいくつかのユーザーコントロールを配置し、ユーザーがあまりスクロールせずにページのそのセクションにジャンプできるようになります。これを行うために、各ユーザー コントロールをフォルダー (usercontrols) に配置し、各コントロールに Description プロパティを指定しました ( <%@ Control Language="C#" Description = "Vehicles" .... %>
)。
私の質問は、この説明に動的にアクセスするにはどうすればよいですか? この説明をメニューのリンクとして使用したいと考えています。これまでのところ、ASP.usercontrols タイプのコントロールを ControlCollection で検索する foreach がページにありました。もしそうなら、その属性にアクセスしてその説明プロパティを取得できると思います。これどうやってするの?(「ユーザーコントロールメニュー」を実現するためのより良い方法にもオープンですが、それは別の質問かもしれません。)使用する必要があります((System.Web.UI.UserControl)mydynamiccontrol).Attributes.Keys
か?
c# - ICollectionを継承する最も基本的なクラスは何ですか
追加して列挙できるジェネリック コレクション クラスが必要です。からICollection<T>
継承するIEnumerable<T>
ため、クラスは実際には から継承するだけで済みますICollection<T>
。ICollection<T>
BCLに CollectionBase のジェネリック バージョンのように継承する単純なジェネリック クラスはありますか? そうでない場合、どのクラスが最も近いですか?
私List<T>
が使用しているものはどれだと思いますが、シーケンシャルな側面は必要ありません。より良いものはありますか (つまり、[メモリ フットプリントが小さい/アクセスが高速である/よりシンプル] という意味です)。バッグがあれば完璧です。
編集 1:私の特定の例では、.concat
別の IEnumerable にアクセスし、クエリを実行してから、結果を表示しています (順不同)。私は自分のクラスを作ろうとしていません。何度も使い捨てコレクションを作成する必要があったので、使用するのに最適な使い捨てを見つけることが役立つと思いました。私は何度も似たようなことをしたと感じているので、この質問はできるだけ一般的なものにしておくべきだと感じました (しゃれた意図はありません)。
編集 2:皆さんの回答に感謝します。@BlueRaja が指摘したように、どの単純なクラスでもほぼ同じオーバーヘッドが発生するため、元の使用方法に固執すると思いますList<T>
。どれもほぼ同じなので、「入力しやすい」「もういちいち持ち込まなくていい」などのバカバカしい理由も悪くない。
asp.net-mvc - フォームコレクション(mvc)から[]要素を抽出するには、icollectionを使用する必要がありますが、タイプが混在しています。
PhilHaacksプロジェクトを
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
これは便利ですが、データ型が混在しています。
モデルビューを使用して、オブジェクトを混在させることができます。この場合は、Order(order.id、order.dateなど)、Customer、SoilSamplingOrder、およびこの[0] .id、[のようなSoilSamplingSubJobsのリストです。 0] .field、[1] .id、[1] .fieldなどおそらく、Listの代わりにICollectionを使用する必要がありますか?UpdateModelを機能させるのに問題があったので、コレクションメソッドからの抽出を使用しました。最初の4つのメソッド呼び出し:orderRepository.FindOrder(id); などは、モデルに編集するオリジナルを与えます。しかし、この時点以降、サブジョブを更新する方法に少し迷っています。問題を理解するのに十分な描写ができているといいのですが。
list - linqクエリをicollectionに変換する
クエリの結果を取得する必要があります。
ICollectionとして準備して、次のようなものを持つことができます
現時点では、私のニーズに適していないリストを作成しています。
どうすればいいですか - それは query.ToIcollection() ですか?
.net - リポジトリパターンと抽象クラスの問題
抽象クラスの使用と組み合わせたリポジトリパターンの問題に遭遇します。
抽象型のICollectionを返す単一のメソッドを実装するリポジトリがあります。
これが私の抽象クラスです:
その抽象クラスの具体的な実装は次のとおりです。
これが私のリポジトリです:
これまでのところすべて良い。
今サービス:
問題があります。抽象型のCountry
を返すリポジトリから具象型()のリストを返そうとしています。ICollection<T>
2つのコンパイル時エラーを取得します。
「System.Collections.Generic.IEnumerable」に「ToList」の定義が含まれておらず、最適な拡張メソッドのオーバーロード「System.Linq.ParallelEnumerable.ToList(System.Linq.ParallelQuery)」に無効な引数がいくつかあります
と
インスタンス引数:「System.Collections.Generic.IEnumerable」から「System.Linq.ParallelQuery」に変換できません
では、どうすればこのパターンを実装できますか?
私は問題をある程度理解できます(抽象型をインスタンス化することはできません)ので、列挙子(.ToList)はこれをインスタンス化しようとしますか?したがってエラーですか?
私が何をしようとしているのかわからない場合:
ICollection<T>
リポジトリが抽象型のを返すようにしたい- 私のサービス(具体的なタイプごとに1つあります)が、その単一のリポジトリメソッドに基づいて具体的なタイプのリストを返すようにします
これはLINQ構文の場合にすぎませんか?それとも私のデザインパターンは完全に間違っていますか?
asp.net - コレクションと ICollection
コレクションと ICollection をテストするためのダミー プロジェクトを作成しました。ユーザー クラスがあり、コレクションを作成したいと考えていました。例 -
コレクションを使用するかコレクションを使用するかに関係なく、両方のコードが正常に機能しています。上の2行の違いは何ですか?
前もって感謝します。
c# - C#で{a、b、c}を使用してキューをインスタンス化することは可能ですか?
C#でそれを行うことは可能ですか?
または、そのために最初に配列を作成する必要がありますか?
c# - タイプICollectionのプロパティでリフレクションを使用するにはどうすればよいですか?
同じプロパティ名を持つ2つのオブジェクトを渡すメソッドがあり、Reflectionを使用して一方のオブジェクトから値を取得し、もう一方のオブジェクトに値を設定しています。私の問題は、コレクションであるプロパティに出くわしたとき、元のプロパティはEntityCollectionであり、設定されるのはObservableCollectionであり、値を設定しようとすると明らかにキャストエラーがスローされます。
では、これについてはどうすればよいでしょうか。1つの方法は、EntityCollectionプロパティのインスタンスを取得し、ループでActivator.CreateInstance()を使用して新しいアイテムをObservableCollectionに追加することだと思いました。しかし、元のインスタンスを取得する方法について別の質問に出くわしました。
このジレンマについての洞察に大いに感謝します。使用しているメソッドのコードを投稿します。現在は動作していません。主に参考のために投稿しました。ですから、明白なことを指摘しないでください。前もって感謝します。
entity-framework - ICollection を非表示にすることはできますかEF4 コードのみで 1 対多のマッピングを行う場合のフィールド
1 対多のマッピングを持つドメイン クラスは、通常、次の形式をとります (テストされていないコード)。
私が見たEF4 コードのみのサンプルでは、1 対多の関係を処理するときにパブリック ICollection が公開されています。
コレクションを公開して保持および復元する方法はありますか? そうでない場合、私のドメイン オブジェクトは ORM の要件を満たすように設計されているように見えますが、これは努力の精神に反しているようです。ICollection を (Add などのメソッドを使用して) 公開することは、特にきれいに見えず、私のデフォルトのアプローチではありません。
アップデート
5月にはできなかったことを示唆するこの投稿を見つけました。もちろん、Microsoft のポスターは、「実装を強く検討している」と述べており (そうであることを願っています)、半年が経過しているので、何か進展があったのでしょうか?
c# - ICollection を反復するときに現在の位置を特定することは可能ですか?
次のコードがあります。
.Appened("or ")
最後のループを除く各反復でそのループを追加する必要があります。
ここで最後の反復をいつ見つけたかを知る方法はありますか?