C# 中 static的 问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 02:34:12
我 问个 问题 大家看下代码
static void Main(string[] args)
{

int port = 7788;

IPAddress arr1=IPAddress.Parse( getip());
TcpListener listener1 = new TcpListener(arr1, port);

listener1.Start();
ThreadStart threadstrat1 = new ThreadStart(target);
Thread thread = new Thread(threadstrat1);
thread.Start();
Console.ReadLine();

}
private static string getip()
{
IPAddress arr;
arr = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
return arr.ToString();
}
其中 private static string getip() 如果没有static 就出 问题:
错误 1 非静态的字段、方法或属性“Program.getip()”要求对象引用

但是 我记得在同一个类中 主函数调用 别的函数,那个函数不用加static吧
例如 建立一个 winfrom程序 就一个类 除了 主函数以外 就不用加
直接public void target(){}就可以了 哪位兄弟给说下好马
哪wi

这是因为类的静态方法规定的,类中静态的方法、成员函数只能访问静态的数据成员或者静态的方法。
static void Main(string[] args) //这使用了关键字static代表是静态方法,如果Main方法里面要调用外面的方法或者函数必须是静态的方法或者是函数。
C#中就连static void Main(string[] args)要访问这个方法外面的变量都得是静态的。

这些都是在类中,对于访问其它类就可以了。
如:Main函数中访问其它类,就不用加Static