Как исправить IDE0017 при использовании файловых диалогов

Я получаю три "Предложения" IDE0017 Инициализация объекта может быть упрощена.

    private string dbSelect()
    {
        // This is the User File Name Selection
        OpenFileDialog openThis = new OpenFileDialog();
        openThis.DefaultExt = "sqlite";
        openThis.Filter = "SQLite Databases|*.sqlite";
        if (openThis.ShowDialog() == DialogResult.OK)
        {
            return openThis.FileName;
        }
        return null;
    }


    public bool openDatabase()
    {
        OpenFileDialog openThis = new OpenFileDialog();
        openThis.DefaultExt = "sqlite";
        openThis.Filter = "SQLite Databases|*.sqlite";
        if (openThis.ShowDialog() == DialogResult.OK)
        {
            m_dbConnection = new SQLiteConnection("Data Source=" + openThis.FileName + ";Version=3;");
            m_dbConnection.Open();
            return true;
        }
        return false;
    }


   public bool createDatabase()
    {
        SaveFileDialog createThis = new SaveFileDialog();
        createThis.DefaultExt = "sqlite";
        createThis.Filter = "SQLite Databases|*.sqlite";

        if (createThis.ShowDialog() != DialogResult.OK || createThis.FileName.Trim() == "")
        {
            return false;
        }

        m_dbConnection = new SQLiteConnection("Data Source=" + createThis.FileName + ";Version=3;");
        m_dbConnection.Open();

        return true;
  }

Как мне реформировать их, чтобы упростить их? Они были в порядке до VS2017...

И до сих пор Google не очень помог.

И я не уверен, что мне нравится идея, что упрощение означает размещение всего в одной строке.

Меня учили, что читабельность важна, и все в одной строке просто загромождено.

Но я бы не хотел пропустить трюк... Полагаю, я могу просто выключить его...

1 ответ

Решение

Uppon создает новый экземпляр чего-либо вместо того, чтобы делать MyType myVariable = new MyType(); а затем установить каждое свойство из myVariable построчно вы можете сделать MyType myVariable = new MyType() {}; и между {} Вы можете установить свойства, которые вы хотите установить.

Для SaveFileDialog например, вы можете сделать:

SaveFileDialog createThis = new SaveFileDialog() 
{
    DefaultExt = "sqlite", 
    Filter = "SQLite Databases|*.sqlite"
};
Другие вопросы по тегам