Пользовательская структура по умолчанию в качестве необязательного параметра - PullRequest
1 голос
/ 21 июня 2020

У меня есть структура WindowProperties. Он имеет 3 свойства: stati c Default и конструктор с необязательными параметрами.

public struct WindowProperties
{
    public string Title;
    public int Width;
    public int Height;

    public static WindowProperties Default => new WindowProperties("Fury Engine", 1280, 720);

    public WindowProperties(string title = "Fury Engine", int width = 1280, int height = 720)
    {
        Title = title;
        Width = width;
        Height = height;
    }
}

У меня есть метод, который принимает WindowsProperties в качестве параметра

public WindowsWindow(WindowProperties props = WindowsProperties.Default)
{
    Init(props);
}

Это дает мне ошибку "Default parameter 'props' must be a compile-time constant"

Что я могу сделать, чтобы исправить это?

1 Ответ

2 голосов
/ 21 июня 2020

Используйте два конструктора, например

public WindowsWindow()
    :this(WindowsProperties.Default) 
{}

public WindowsWindow(WindowProperties props)
{
    Init(props);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...