c#扩展方法奇思妙用变态篇二:封装 if/else、swith/case及while
2010-09-30 20:46:12 来源:WEB开发网扩展方法中的If可以使用点“.”链起来,称之“链式编程”,请参见我我随笔《c#链式编程》。
常规代码和使用扩展方法写的代码都在上面,大家比较一下吧。
使用If扩展的代码中用了lambda表达式,如果前面的“p=>p.”能去掉的话,看起来就比较舒服了!编译器通过类型及上下文推演,应该可以做得到吧!
给出People类如下:
People类
public class People
{
public string Name { get; set; }
public bool IsHungry { get; set; }
public bool IsThirsty { get; set; }
public bool IsTired { get; set; }
public int WorkCount { get; private set; }
public void Eat()
{
Console.WriteLine("Eat");
IsHungry = false;
}
public void Drink()
{
Console.WriteLine("Drink");
IsThirsty = false;
}
public void Rest()
{
Console.WriteLine("Rest");
IsTired = false;
}
public void Work()
{
Console.WriteLine("Work");
IsHungry = IsThirsty = IsTired = true;
WorkCount++;
}
}
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接