使用文件对话框时如何修复 IDE0017

How to fix IDE0017 when using File Dialogs

我正在获取三个 "Suggestions" 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 并没有真正帮助。

而且,我不确定我是否喜欢简化意味着将所有内容都放在一行中的想法。

有人告诉我可读性很重要,一行中的所有内容简直是杂乱无章。

但是,我不想错过一个把戏...我想我可以将其关闭...

创建任何东西的新实例而不是做 MyType myVariable = new MyType(); 然后逐行设置 myVariable 中的每个 属性 你可以做 MyType myVariable = new MyType() {}; 并且在 {}你可以设置你想设置的属性。

例如,对于 SaveFileDialog,您可以这样做:

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