la inicialización de objetos puede simplificarse
Con mi código me sale 3 mensajes todos diciendo inicialización de objetos se puede simplificar
y en mi creciente sed de conocimiento (y mi TOC) Me gustaría "fix" mi código para que estos mensajes no aparecen. Sé que puedo configurarlo para que no aparezcan, pero seguiré pensando que están ahí en segundo plano, lo cual no me parece bien. Si alguien puede indicar cómo "simplificar la inicialización" que sería genial para que pueda mejorar mis habilidades. Si se requiere más código que me haga saber y puedo añadir en.
1st:
TreeNode node = new TreeNode(drive.Substring(0, 1), driveImage, driveImage);//issue on this line
node.Tag = drive;
2nd:
DirectoryInfo di = new DirectoryInfo(dir);
TreeNode node = new TreeNode(di.Name, 0, 1); //this line
Sospecho que con los treenodes es porque les he dado el mismo nombre, pero he intentado cambiar el nombre, pero no hizo ninguna diferencia.
3rd:
OleDbCommand select = new OleDbCommand();//this line
select.Connection = cnDTC;
select.CommandText = string.Format("SELECT MAX(VERSION_NO) AS MAX_VERSION FROM ({0})", strSQL2);
43
3
1º
Antes:
Después:
2nd
Antes:
Después:
3rd
Antes:
**Después.
3ª (con interpolación de cadenas):
Leer más sobre var (realmente no es malo 😉) y algo más de documentación sobre Inicializadores de objetos y colecciones
Tuve un problema similar con este código:
Y lo solucioné con este código:
Así que...para desactivar el mensaje de advertencia (IDE0017)(en VS 2017/2019):
Haz clic en la pestaña Herramientas. Luego baje a Opciones...
Luego | TextEditor | C# | CodeStyle | General |
En Preferencias de Expressoin cambie Preferir Inicializador de Objetos a No.
Alternativamente puede dejar la Preferencia como Sí y cambiar la Gravedad de Advertencia a Sugerencia. Ahora sólo se mostrará como un mensaje en la Lista de Errores.
El compilador quiere que utilices la siguiente sintaxis:
Esto es para su 3er caso.