is if (условие) } , независимо от того, что такое оператор, даже если у него есть назначение? CHATGPT говорит иначе, продолжайте читать для большего. Так что не супер опытный, но достаточно опытный, чтобы бороться через вещи. Теперь, когда chatgpt существует, облегчает получение функционирующего кода, но с меньшим пониманием основ о том, почему все должно быть сделано определенным образом. Идея заключается в том, что если сервер Websocket не настроен или не включен пользователем, он никогда не инициализируется, нет ресурсов, используемых на машине. Мой класс Singleton называется KillfeedWebsocketServer и инициализируется и начинается с предоставления копии WebSocketServersettings для свойства настройки экземпляра. Существует частный метод с именем start () , который вызывается в сеттере настройки , если логика считает, что настройки действительны, и это должно запустить. Class = "Lang-None PrettyPrint-Override">
Код: Выделить всё
public sealed class KillfeedWebSocketServer
{
private static readonly Lazy _instance =
new Lazy(() => new KillfeedWebSocketServer());
public static KillfeedWebSocketServer Instance => _instance.Value;
private KillfeedWebSocketServer() { _settings = default(WebSocketServerSettings); }
private WebSocketServerSettings _settings;
public WebSocketServerSettings Settings
{
get => _settings;
set
{
if () Start();
}
}
}
< /code>
Реализация < /h3>
Прямо сейчас у меня есть следующий код в моей основной форме (да, раскачивает ее старую школу с Winforms). Он использует статический класс под названием WebSocketSettingSmanager
Код: Выделить всё
// My code
private void Form1_Shown(object sender, EventArgs e)
{
WebSocketServerSettings wssSettings = WebSocketSettingsManager.LoadSettings();
if (wssSettings.AutoStart) KillfeedWebSocketServer.Instance.Settings = wssSettings;
}
Код: Выделить всё
// ChatGPT response:
private void Form1_Shown(object sender, EventArgs e)
{
WebSocketServerSettings wssSettings = WebSocketSettingsManager.LoadSettings();
// Only initialize the WebSocket server if AutoStart is true
if (wssSettings.AutoStart)
{
KillfeedWebSocketServer.Instance.Settings = wssSettings;
}
}
< /code>
Я спросил Chatgpt, был ли это пример, и мой был не одним и тем же, и это удвоилось, что это не было: < /p>
< /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79496070/chatgpt-hallucinations-on-if-statements-and-initialization-of-a-singleton-using[/url]