Как исправить IDE0017 при использовании файловых диалогов - PullRequest
0 голосов
/ 04 октября 2018

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

    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 Ответ

0 голосов
/ 04 октября 2018

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

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

SaveFileDialog createThis = new SaveFileDialog() 
{
    DefaultExt = "sqlite", 
    Filter = "SQLite Databases|*.sqlite"
};
...