我正在用C#编写TCP套接字服务器,需要记录服务器的工作目录并在另一个方法中使用它。这是目录的设置位置:
public ServerMainline()
{
string cwd = Directory.GetCurrentDirectory();
Console.WriteLine(cwd);
TcpListener server = null;
try
{
ThreadPool.SetMaxThreads(50, 50);
server = new TcpListener(IPAddress.Any, 50039);
server.Start();
while (true)
{
Console.WriteLine("Waiting for a new Client...");
TcpClient client = server.AcceptTcpClient();
ThreadPool.QueueUserWorkItem(serviceClient, client);
}
}
catch (Exception e)
{
Console.WriteLine("Server mainline: SocketException: {0}", e);
}
finally
{
server.Stop();
server.Server.Close();
}
}
这就是我需要再次使用它的地方:
switch (option)
{
case "C":
case "c":
Console.WriteLine("You have selected option C. Please wait...");
ServerMainline serverFiles = new ServerMainline();
string[] files = serverFiles.OptionC(cwd);
break;
}
这里的switch语句不完整,我只需要能够在那里使用cwd。
感谢您的帮助
答案 0 :(得分:0)
有三种选择......
在案例方法中重新分配cwd
string cwd = Directory.GetCurrentDirectory();
将cws定义为全局变量(在方法之外)
您可以将cws作为方法的参数传递
eg- methodname(string cwd)