Как получить доступ к переменной из другого класса без ее восстановления?Переменная доступа C# из другого класса без восстановления класса
Класс # 1:
namespace Server.world
{
public class WorldData
{
private entitys.Player[] Players = new entitys.Player[Convert.ToInt16(ConfigurationManager.AppSettings["maxplayers"])];
public entitys.Player this[int i]
{
get { return Players[i]; }
set { Players[i] = value; }
}
}
}
Класс # 2: построение worldData
класс:
namespace Server
{
class StartUp
{
public Server.tcpserver.TcpServer ListenerTcp = new Server.tcpserver.TcpServer();
public world.WorldData WorldData = new world.WorldData();
/// <summary>
/// Server start function
/// </summary>
public void Start()
{
string rootFolder = ConfigurationManager.AppSettings["rootfolder"];
if (!Directory.Exists(rootFolder))
{
Directory.CreateDirectory(rootFolder);
string pathString = Path.Combine(rootFolder, "world");
Directory.CreateDirectory(pathString);
}
ListenerTcp.StartListening();
//No code below this point
}
}
}
Класс # 3:
namespace Server.tcpserver
{
class TcpServer
{
int counter = 0;
public void StartListening()
{
IPAddress ipAddress = Dns.GetHostEntry("127.0.0.1").AddressList[0];
TcpListener serverSocket = new TcpListener(8888);
TcpClient clientSocket = default(TcpClient);
serverSocket.Start();
counter = 0;
while (true)
{
counter += 1;
clientSocket = serverSocket.AcceptTcpClient();
Server.client.Client Client = new Server.client.Client(clientSocket);
Console.WriteLine("Player Connected!");
//get world playerdata here
}
}
}
}
Как мне это сделать? Я повсюду искал, но не смог найти его.
Где вы создать экземпляр класса 3? Вы можете передать объект 'WorldData' в конструкторе. Вы можете создать экземпляр внутри своего класса 3 – paqogomez
Как относятся классы 'StartUp' и' Class3' друг к другу? –
вы можете получить доступ к элементам без установки только путем преобразования класса в «статический» –