c# - 使用文件对话框时如何修复 IDE0017
问题描述
我得到三个“建议”IDE0017 Object Initialization cab 被简化。
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...
而且,到目前为止,谷歌并没有真正提供帮助。
而且,我不确定我是否喜欢简化意味着将所有内容放在一行中的想法。
我被告知可读性很重要,而且一行中的所有内容都是杂乱无章的。
但是,我不想错过任何一个技巧......我想我可以把它关掉......
解决方案
Uppon 创建任何东西的新实例而不是做MyType myVariable = new MyType();
,然后myVariable
逐行设置每个属性,你可以做MyType myVariable = new MyType() {};
,并且{}
你可以设置你想要设置的属性。
例如SaveFileDialog
,您可以这样做:
SaveFileDialog createThis = new SaveFileDialog()
{
DefaultExt = "sqlite",
Filter = "SQLite Databases|*.sqlite"
};
推荐阅读
- c# - 为什么 UpdatePanel 触发器无法识别我的 ControlID
- python-3.x - 如何在自定义条目对象上编辑 tkinter 字体属性?
- swift - Swift:精确到 timeIntervalSince1970
- python - 在字典中提取特定的嵌套值
- c++ - 无法实现按名称搜索
- python - Python - 操作系统模块'TypeError:'bool'对象不可迭代''
- python - 多个等号和逗号之间的正则表达式搜索文本
- p5.js - 如何在 p5js 中用图像填充多个自定义形状
- css - 无法将 SASS 样式应用于我在 ASP.NET MVC 应用程序中的视图?
- javascript - 在 Gatsby.js 中以编程方式创建多种类型的页面