问题标签 [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.

0 投票
1 回答
445 浏览

asp.net - 如何动态访问用户控件属性?

我试图创建一个“用户控件菜单”,其中指向页面用户控件的链接放置在页面顶部。这将允许我在一个页面上放置几个用户控件,并允许用户跳转到页面的该部分而无需滚动太多。为了做到这一点,我将每个用户控件放在一个文件夹 (usercontrols) 中,并给每个控件一个描述属性 ( <%@ Control Language="C#" Description = "Vehicles" .... %>)。

我的问题是如何动态访问此描述?我想将此描述用作菜单中的链接。到目前为止,我的页面上有一个 foreach,它在 ControlCollection 中查找 ASP.usercontrols 类型的控件。如果是,我会假设我可以访问它的属性并获取该描述属性。我怎样才能做到这一点?(我也愿意以更好的方式来实现我的“用户控制菜单”,但也许那是另一个问题。)我应该使用((System.Web.UI.UserControl)mydynamiccontrol).Attributes.Keys吗?

0 投票
5 回答
1757 浏览

c# - 继承ICollection的最基本的类是什么

我需要一个可以添加和枚举的通用集合类。由于ICollection<T>继承自IEnumerable<T>,该类实际上只需要继承自ICollection<T>。BCL 中是否有一个简单的泛型类,它ICollection<T>像 CollectionBase 的泛型版本一样继承?如果不是,那么哪个类最接近?

我猜List<T>这是我一直在使用的,但我不需要顺序方面。有什么更好的(我的意思是[更小的内存占用/更快的访问/更简单])?如果它存在,包将是完美的。

编辑 1:在我的特定实例中,我正在.concat访问另一个 IEnumerable,对其进行查询,然后显示结果(没有特定顺序)。我不是想自己上课。我只需要多次制作一次性收藏品,我认为找到最好的一次性用品会很有用。因为我觉得我已经做过很多次类似的事情,所以我觉得我应该尽可能地保持这个问题的通用性(不是双关语),我现在知道得更好了。

编辑2:感谢大家的回答,正如@BlueRaja 指出的那样,任何简单的类都会有大致相同的开销,因此我想我会坚持我原来的使用方式List<T>。由于它们都差不多,我的“打字更容易”和“我不必再引入另一个用途”的愚蠢理由并不是那么糟糕的理由。

0 投票
2 回答
2467 浏览

asp.net-mvc - 从表单集合中提取 [] 元素 - mvc - 应该使用 icollection 但具有混合类型

看过Phil Haacks关于书籍的项目

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

这很有用,但我有多种数据类型。

我使用模型视图,以便我可以混合对象,在这种情况下:订单(即 order.id、order.date 等)、客户、SoilSamplingOrder 和 SoilSamplingSubJobs 列表,类似于 [0].id,[ 0].field、[1].id、[1].field 等也许我应该使用 ICollection 而不是 List?我在让 UpdateModel 工作时遇到问题,所以我使用了从收集方法中提取的方法。前 4 个方法调用:orderRepository.FindOrder(id); 等为模型提供要编辑的原件。但在这一点之后,我对如何更新子作业有点迷失了。我希望我已经描述了足够的内容来理解这个问题。

0 投票
3 回答
8120 浏览

list - 将 linq 查询转换为 icollection

我需要获取查询结果:

并准备为 ICollection 以便我可以拥有类似的东西

目前我创建了一个不适合我需要的列表:

我该怎么办 - 它是 query.ToIcollection() 吗?

0 投票
2 回答
1139 浏览

.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”

那么,我该如何实现这种模式呢?

我可以理解这个问题(你不能实例化一个抽象类型),那么 Enumerator (.ToList) 是否尝试实例化它,因此会出现错误?

如果你不明白我想做什么:

  • 我希望我的存储库返回ICollection<T>一个抽象类型
  • 我希望我的服务(每种具体类型都有一个)基于该单一存储库方法返回具体类型列表

这只是 LINQ 语法的一个例子吗?还是我的设计模式完全错误?

0 投票
4 回答
3658 浏览

asp.net - 集合与 ICollection

我创建了一个用于测试集合和 ICollection 的虚拟项目。我有一个用户类并想创建一个集合。示例 -

无论我使用 Collection 还是 I collection,这两个代码都可以正常工作。现在谁能告诉我上面两行之间有什么区别?

提前致谢。

0 投票
3 回答
1934 浏览

c# - 在 C# 中可以使用 {a,b,c} 实例化队列吗?

有可能在 C# 中做到这一点吗?

还是我必须先为此生成一个数组?

0 投票
1 回答
2074 浏览

c# - 如何对 ICollection 类型的属性使用反射?

我有一个方法,我传入两个具有相同属性名称的对象,并且我使用反射从一个对象获取值并在另一个对象上设置值。我的问题是,当我遇到一个作为集合的属性时,原始属性是 EntityCollection,而设置的属性是 ObservableCollection,当我尝试设置值时,我显然会抛出一个转换错误。

那么我该怎么做呢?我认为一种方法是获取 EntityCollection 属性的实例,并在循环中使用 Activator.CreateInstance() 将新项目添加到 ObservableCollection。但是我遇到了另一个问题,即如何获取原始实例。

我将非常感谢您对这一困境的一些见解。我将发布我正在使用的方法的代码。它目前不起作用,主要是我发布它仅供参考。所以请不要指出明显的。提前致谢。

0 投票
3 回答
1094 浏览

entity-framework - 我可以隐藏我的 ICollection当我在 EF4 代码中具有一对多映射时的字段?

我的具有一对多映射的域类通常采用以下形式(未经测试的代码):

我见过的EF4 纯代码示例在处理一对多关系时公开了一个公共 ICollection。

有没有办法通过公开它们来保留和恢复我的收藏?如果不是这样,我的领域对象似乎将被设计为满足 ORM 的要求,这似乎与努力的精神背道而驰。公开 ICollection(使用它的 Add 等方法)似乎不是特别干净,也不是我的默认方法。

更新

发现这篇文章表明它在 5 月是不可能的。当然,微软的海报确实说他们正在“强烈考虑实施”它(我希望如此)而且我们已经过去了半年,所以也许已经取得了一些进展?

0 投票
3 回答
92 浏览

c# - 迭代 ICollection 时是否可以确定当前位置?

我有以下代码:

我需要在每次迭代中添加该循环,.Appened("or ")除了最后一个。

知道我如何知道我何时位于最后一次迭代吗?