Tag: generics

表示3个值集的最佳方法

假设我有100组3个值。 第一个值是时间,第二个值是x位置,第三个值是y位置。 例如,这将是超过100秒的点的xy位置。 我有PHP背景。 在PHP中,我会使用这样的3D关联数组: position[“time”][“x”][“y”] 所以我可以在特定时间访问x,y值。 你会如何在c#中做到这一点? 我认为像列表和字典这样的generics会这样做。 但我不知道如何为3D数据集实现键值。

具有未指定类型的generics类的数组

在C#中是否可以创建一个未指定generics类型的数组? 有点像这样: ShaderParam[] params = new ShaderParam[5]; params[0] = new ShaderParam(); 或者这是不可能的,因为C#强大的打字?

为什么IList 的功能少于List ?

要使用如ConvertAll()这样的强大function,我必须将IList转换为List ,这很痛苦。

迭代强类型genericsList 的最佳方法是什么?

在C#.NET和VB.NET中迭代强类型genericsList的最佳方法是什么?

注册“半封闭”通用组件

我有两个接口: public interface IQuery { } public interface IQueryHandler where TQuery : IQuery { TResult Handle(TQuery q); } IQueryHandler的封闭实现示例: public class EventBookingsHandler : IQueryHandler<EventBookings, IEnumerable> { private readonly DbContext _context; public EventBookingsHandler(DbContext context) { _context = context; } public IEnumerable Handle(EventBookings q) { return _context.Set() .OfEvent(q.EventId) .AsEnumerable() .Select(EventBooking.FromMemberEvent); } } 我可以使用此组件注册注册并解决IQueryHandler封闭通用实现: Classes.FromAssemblyContaining(typeof(IQueryHandler)) .BasedOn(typeof(IQueryHandler)) .WithServiceAllInterfaces() 但是,我想要做的是解决一个“半封闭”的开放式通用实现(即指定一个通用的TQuery类型参数): […]

C#4中会有通用属性吗?

所以 – 如果没有特殊原因没有通用属性, 我想知道 – 也许他们会被实施? 这些对于ASP.NET MVC动作filter来说非常棒。

.NET中是否有任何阻止空条目的集合?

我专门考虑一个符合一套合同的集合,但我认为这个问题适用于任何类型。 .NET框架中是否存在阻止空条目的集合? 我想要的具体行为是这样的: var set = new HashSet(); bool added = set.Add(null); Console.WriteLine(added); // prints “False” 这不是内置HashSet 。 是否存在任何具有此(或类似)行为的集合,或者我最好自己滚动? 如果是后者,最好的方法是什么? 我应该直接从HashSetinheritance还是只包装它? 编辑:要清楚,这只是空闲的想知道。 主要是因为我想不出有任何理由我想让null进入一组对象。 我对此没有任何特别需要。

List – 我是否传递对象或引用?

好吧,我已经研究了generics并有以下问题: List list=new List SomeClass MyInstance=SomeClass(); list.Add(MyInstance); 我不确定将添加到列表中的内容 – 引用类型的引用或对象(指向MyInstance的实际值)。 编辑:或者我会添加指向实际对象的值(即参考数据类型)? 谢谢

从DbContext检索DbSet 的通用方法

我正在使用Entity Framework和一个大型数据库(由200多个表组成)。 尝试创建一个返回特定表T的DbSet的generics方法(即类,可以是TableA )。 使用实体数据模型(自动)创建的实体类如下所示: public partial class sqlEntities : DbContext { public virtual DbSet TableA { get; set; } public virtual DbSet TableB { get; set; } public virtual DbSet TableC { get; set; } … // other methods } 我的主要课程是这样的 public class TableModifier { // Should return first 10 elements from a table […]

C#exceptioninheritance语法w /generics

我在NHibernate类定义中遇到了这个问题: public class SQLiteConfiguration : PersistenceConfiguration 所以这个类inheritance自一个由派生类参数化的基类? 我的脑袋爆炸了。 有人可以解释这意味着什么以及这种模式有用吗? (顺便说一句,这不是一个特定于NHibernate的问题。)