C#泛型编程指导原则(17--18)
来源:互联网 发布:RecyclerView 添加数据 编辑:程序博客网 时间:2024/05/21 22:26
Item 17: Avoid Multiple Constraint Ambiguity避免多重约束中的含糊
当使用约束的时候,可以选择对任何一个类型参数使用多重约束。事实上,你可以将单独的类约束与多重接口约束联合使用。当你开始混合并匹配多重约束的时候,可能引入含糊不清的约束。
如:
public interface I
{
void Foo1();
void Foo3();
}
public class C
{
public void Foo1() {}
}
public class TestClass<T> where T : C, I { }
这里接口I和类C中的Foo1产生了混淆。
Item 18: Provide Parameterless Constructors提供无参构造器
无论何时,当你引入自定义类型的时候,都需要考虑当他们被用作类型参数的时候会产生什么样的行为。显然,你选择实现的接口会在该类型如何被约束方面起关键性的作用。至少,准备用为类型参数的每个类型都应该包含对参数构造的支持。通过支持这个约束,使得你的类型可以被任何包含构造约束的泛型类型所支持。
通过支持无参数的构造器来增加你的接口的价值的实例足够多,不过是对于泛型还是非泛型解决方案。如果你曾经和工厂模式的任何一种变形打过交道,你可能已经提供过无参构造器。有了泛型,该条款可以增加价值的场景的列表只会变得更长。
例如:
public IEnumerable<T> GetDataObjects() where T : new() {}
- C#泛型编程指导原则(17--18)
- C#泛型编程指导原则(一)
- C#泛型编程指导原则(二)
- C#泛型编程指导原则(五)
- C#泛型编程指导原则(三、四)
- C#泛型编程指导原则(六、七)
- C#泛型编程指导原则(十、十一)
- C#泛型编程指导原则(12--14)
- C#泛型编程指导原则(15--16)
- C#泛型编程指导原则(19--23)
- 极限编程指导原则(XP)
- C#类库处理异常指导原则
- C#泛型编程知道原则(八、九)
- 指导原则
- C#七大编程原则
- 数据库设计指导原则
- 类设计指导原则
- 原则之:指导
- 正则表达式
- 51单片机 Keil C 延时程序
- LED控制系统(基于FPGA)
- C#泛型编程指导原则(12--14)
- C#泛型编程指导原则(15--16)
- C#泛型编程指导原则(17--18)
- 网站列表之软件(下载)
- C#泛型编程指导原则(19--23)
- Outlook Express 错误代码
- 装了个Ubuntu....
- ADO.NET入门 2
- 网站列表之著名公司
- 用Visual C#实现P2P应用程序
- 男人着装