C#扩展方法
2015-09-09 10:12
281 查看
using System;using System.Collections.Generic;using System.Linq;using System.Text;/* * 扩展方法允许编写和声明它的类之外的类关联的方法 * 1、扩展方法必须声明为static * 2、扩展方法声明所在的类也必须声明为static * 3、扩展方法必须包含关键字this 作为他的第一个参数类型,并在后面跟着它扩展的类的名称*/namespace ExtendMethod{ sealed class MyData { private double D1, D2, D3; public MyData(double d1, double d2, double d3) { D1 = d1; D2 = d2; D3 = d3; } public double Sum() { return D1 + D2 + D3; } } static class ExtendMyData { public static double Average(this MyData md)//扩展类MyData的方法 { return md.Sum()/3; } } static class ExtendMyData1 { public static double Average( MyData md)//非扩展类MyData的方法 { return md.Sum() / 3; } } class Program { static void Main(string[] args) { MyData md = new MyData(3, 4, 5); Console.WriteLine("Sum: {0}",md.Sum()); Console.WriteLine("扩展方法md.Avrage: {0}", md.Average()); Console.WriteLine("非扩展方法ExtendMyData1.Average:{0}",ExtendMyData1.Average(md)); Console.ReadKey(); } }}
相关文章推荐
- C#外部方法
- C#中单例的双重锁定模式
- 添加Linq支持
- C#中如何在外部类访问控制Form窗体控件
- C#设计模式(3)——工厂方法模式
- 利用C#开发基于snmpsharpnet基础的SNMP开发应用
- C#操作Excel总结
- C# 配置文件读取与修改
- c# Gridview 自动分页功能 解决后面页面不显示问题
- 升级win10、安装visual studio 2015、学习C#
- C#设计模式(2)——简单工厂模式
- C#设计模式(1)——单例模式
- C#中的多线程 - 同步基础
- C#中的浅复制和深复制
- C#实现在线更新软件
- C#自己写的迭代器(拓展字典)
- C#中的浅复制和深复制
- C#中的多线程 - 基础知识
- c#中的属性
- c# ArrayList的使用方法小总结