//创建一个类
class MyDate
{
//声明私有字段成员
private double d1;
private double d2;
private double d3;
//定义一个有参构造函数
public MyDate(double a, double b, double c)
{
d1 = a;
d2 = b;
d3 = c;
}
//声明一个方法用于计算数据之和
public double Sum()
{
return d1 + d2 + d3;
} //创建一个静态类
static class ExtendMyDate
{
//声明一个静态方法并实例化MyDate类
public static double Average(this MyDate md)
{
return (md.Sum() / 3);
}
} }
class Program
{
static void Main(string[] args)
{
//创建派生类对象实例并重载
MyDate md = new MyDate(3, 4, 5);
Console.WriteLine("Average:{0}", ExtendMyDate.Average(md));
Console.ReadKey();
}
}
}
这道题就是想利用扩展方法求一个平均值,但是我照着书上的例子把代码敲进去以后,为什么错误列表中老是显示:上下文中不存在名称“ExtendMyDate”呢? 还有就是问什么要把这个扩展方法以及此方法所在的类定义为静态的呢?
class MyDate
{
//声明私有字段成员
private double d1;
private double d2;
private double d3;
//定义一个有参构造函数
public MyDate(double a, double b, double c)
{
d1 = a;
d2 = b;
d3 = c;
}
//声明一个方法用于计算数据之和
public double Sum()
{
return d1 + d2 + d3;
} //创建一个静态类
static class ExtendMyDate
{
//声明一个静态方法并实例化MyDate类
public static double Average(this MyDate md)
{
return (md.Sum() / 3);
}
} }
class Program
{
static void Main(string[] args)
{
//创建派生类对象实例并重载
MyDate md = new MyDate(3, 4, 5);
Console.WriteLine("Average:{0}", ExtendMyDate.Average(md));
Console.ReadKey();
}
}
}
这道题就是想利用扩展方法求一个平均值,但是我照着书上的例子把代码敲进去以后,为什么错误列表中老是显示:上下文中不存在名称“ExtendMyDate”呢? 还有就是问什么要把这个扩展方法以及此方法所在的类定义为静态的呢?
解决方案 »
- 对于两个窗体共用一个串口的问题
- 求解正则问题
- keyup事件
- winform 下更改datagridview行头图片
- (只请高手回答!)要找实习单位,想多一条路,请教c#最经典的入门和进阶的书。
- 如果一个属性的类型为Font/Color,怎么用[DefaultValue()]给其默认值?
- 把自己大脑想得老溢出的问题,不知道有没有人能帮我理清呀
- 为什么(int)Math.Log(8,2)在不同的系统上分别返回3和2????
- 求助:datatable 根据条件删除多行
- 怎么实现在横向拖动ListView或DataGrid时,有几个列固定不动?
- zedgraph问题求助:x,y轴可读与图形上的点值不匹配
- c# 数据模拟 再发一帖求教 谢谢各位牛人!
第二个问题请看:http://blog.163.com/xuanmingzhiyou@yeah/blog/static/14247767620127294428684/