代码如下:
class Program
{
public long Multiply(long nbr1,long nbr2)
{
return (nbr1*nbr2);
} static void Main(string[] args)
{
long x=1234;
long y=5678;
long result;
result=Multiply(x,y);
Console.WriteLine("x*y:{0} *{1}={2}",x,y,result);
}
}
出现错误:非静态的方法要求对象引用,我不明白的是Multiply方法和它的调用都是处于同一个类program中的,为什么会出错呢?为什么要把Multiply方法声明为静态的才能直接调用呢?因为在同一个类里面吗?
class Program
{
public long Multiply(long nbr1,long nbr2)
{
return (nbr1*nbr2);
} static void Main(string[] args)
{
long x=1234;
long y=5678;
long result;
result=Multiply(x,y);
Console.WriteLine("x*y:{0} *{1}={2}",x,y,result);
}
}
出现错误:非静态的方法要求对象引用,我不明白的是Multiply方法和它的调用都是处于同一个类program中的,为什么会出错呢?为什么要把Multiply方法声明为静态的才能直接调用呢?因为在同一个类里面吗?
解决方案 »
- .Net编程书籍处理
- C#中DataGridView中怎么设置可以选中多行?
- 如何在winform程序中向某个站点发送POST数据,实现用户的注册?
- 学习.net,几个低级问题
- C#中如何在已经导入数据的DataTable中选出符合条件的某个值?
- 如何从一个eml文件中分解出subject,cc,from,to等信息?
- 做WINFORM显示DATAGRID中的数据时,我想把数据表中的字段坚排显不在左边,而不是上面,怎么做?
- 有偿实现两个功能,解决者可或至少2K的现金,本人诚心求助,绝不食言
- 新手请各位大哥帮帮我,先谢谢了
- 用MyExtRichTextBox进行过向richTextBox中插入图像的请进来
- 发帖求助关于ListView中访问和插入数据的问题(对高手来说很简单)
- js刷新页面问题。需要高手
{
return (nbr1*nbr2);
}
我知道这样就不会出错了,可是我不知道为什么,Multiply方法和调用它的Main方法不是在同一个类里面吗?为什么在它的前面要加static ?
public static long Multiply(long nbr1,long nbr2)
{
return (nbr1*nbr2);
}
你的意思是说因为Main方法是静态的,所以要被其调用的Multiply方法也必须是静态的,又因为他们在同一个类中所以可以直接使用Multiply方法?
可是Multiply方法和调用它的Main方法是同一类program中的呀,这样也不能直接调用?还是因为Main方法是静态的,所以Multiply方法也必须是静态的?
看看下面的代码,和你原来的代码比较一下using System;class Program
{
public long Multiply(long nbr1, long nbr2)
{
return (nbr1 * nbr2);
} static void Main(string[] args)
{
long x = 1234;
long y = 5678;
long result; Program p = new Program();
result = p.Multiply(x, y);
Console.WriteLine("x*y:{0} *{1}={2}", x, y, result);
}
}