gpt4 book ai didi

c# - 基本的 C# 体系结构和类处理问题

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:53 26 4
gpt4 key购买 nike

好的,伙计们,我认为这是非常基本的东西。

我只是熟悉 C# 和面向对象的语言。

这是我正在开发的一个基本项目:

namespace MyProject  
{
class MyProject
{
public Logger Logs = new Logger();
public WebServer Web = new WebServer();

static void Main()
{
// blabla
}
}
}

记录器只是简单地创建一个日志文件,当它的“Add(string str)”方法被调用时,它会在日志文件中添加一行。网络服务器是我自己的网络服务器,打开一个套接字等...我希望我的网络服务器能够使用我的记录器的添加方法...我应该如何实现它?

在我的网络服务器类中,使用“MyProject.Logs.Add(string str)”之类的东西似乎不起作用。那么我该如何引用呢?我不想在我的网络服务器中创建我的 Logger 类的新实例,因为我想在同一个文本文件中编写所有内容(我可能有更多的模块在运行,而不仅仅是一个网络服务器)。所以我想在我的 Web 服务器类中使用我在 Main 方法中创建的实例...

我希望这是有道理的......

最佳答案

一些建议:

  1. LogsWeb 应该是私有(private)的。这些是您类(class)的实现细节。他们不关别人的事。
  2. 将您的记录器实例传递到您的网络服务器:

    public WebServer Web = new WebServer(Logs); 

您的网络服务器现在可以拥有自己的副本:

private Logger Logs {get;set;}

public WebServer(Logger logs)
{
Logs = logs;
}

public void DoSomething()
{
Logs.Add("I did something!");
}

关于c# - 基本的 C# 体系结构和类处理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com