kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 WhatsThePoint
WhatsThePoint
Question

inisialisasi objek dapat disederhanakan

Dengan kode saya, saya mendapatkan 3 pesan yang semuanya mengatakan inisialisasi objek dapat disederhanakan dan dalam kehausan saya yang terus berkembang akan pengetahuan (dan OCD saya) saya ingin "memperbaiki &" kode saya sehingga pesan-pesan ini tidak muncul. Saya tahu saya bisa mengaturnya agar pesan-pesan ini tidak muncul tetapi saya masih akan tetap berpikir bahwa pesan-pesan ini ada di latar belakang yang tidak cocok dengan saya. Jika ada yang bisa menunjukkan bagaimana cara "menyederhanakan inisialisasi &" itu akan sangat bagus sehingga saya dapat meningkatkan keterampilan saya. Jika diperlukan lebih banyak kode, beritahu saya dan saya bisa menambahkannya.

Pertama:

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

Saya menduga dengan treenodes karena saya telah memberi mereka nama yang sama tetapi saya mencoba mengubah nama tetapi tidak ada bedanya.

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 2017-04-25T09:01:33+00:00 3
Pemrograman
c#
initialization
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 earloc
earloc
25 April 2017 в 9:07
2017-04-25T09:07:18+00:00
Lebih
Sumber
Sunting
#33349040

1

Sebelum:

TreeNode node = new TreeNode(drive.Substring(0, 1), driveImage, driveImage);
node.Tag = drive;

Setelah:

var node = new TreeNode(drive.Substring(0, 1), driveImage, driveImage) {
    Tag = drive
};

2nd

Sebelum:

DirectoryInfo di = new DirectoryInfo(dir);
TreeNode node = new TreeNode(di.Name, 0, 1); //this line

Setelah:

var node = new TreeNode((new DirectoryInfo(dir)).Name, 0, 1);

3rd

Sebelum:

OleDbCommand select = new OleDbCommand();//this line
select.Connection = cnDTC;
select.CommandText = string.Format("SELECT MAX(VERSION_NO) AS MAX_VERSION FROM ({0})",
      strSQL2);

Setelah:

var select = new OleDbCommand(
      String.Format("SELECT MAX(VERSION_NO) AS MAX_VERSION FROM ({0})", strSQL2), 
      cnDTC);

Ketiga (dengan interpolasi string):

var select = new OleDbCommand($"SELECT MAX(VERSION_NO) AS MAX_VERSION FROM ({strSQL2})", 
      cnDTC);

BTW: setiap kali pesan semacam ini muncul, coba letakkan kursor pada baris tersebut dan tekan Ctrl+. (atau klik bola lampu yang muncul) - yang akan membuka "quick-Fix / quick-refactor"

Baca lebih lanjut tentang var (ini benar-benar tidak jahat 😉) dan beberapa dokumentasi lebih lanjut tentang Object and Collection Initializers

Ian Boyd
Ian Boyd
Jawaban edit 13 April 2018 в 5:54
44
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
Chris Catignani
Chris Catignani
17 Juli 2017 в 2:58
2017-07-17T14:58:02+00:00
Lebih
Sumber
Sunting
#33349041

Saya memiliki masalah serupa dengan kode ini:

        Customer oCust = new Customer();
        oCust.Address = txtAddress.Text;
        oCust.City = txtCity.Text;
        oCust.State = txtState.Text;

Dan menyelesaikannya dengan kode ini:

        Customer oCust = new Customer()
        {
           Address = txtAddress.Text,
           City = txtCity.Text,
           State = txtState.Text
        };

Sooo...untuk mematikan pesan peringatan (IDE0017) (di VS 2017/2019):
Klik tab Tools Tab. Kemudian turun ke Options...
Kemudian | TextEditor | C# | CodeStyle | General |
Di bawah Preferensi Ekspresoin ubah Prefer Object Initializer menjadi Tidak.

Atau Anda bisa membiarkan Preferensi sebagai Yes dan mengubah Severity dari Warning ke Suggestion. Sekarang hanya akan muncul sebagai pesan di Daftar Kesalahan.

Chris Catignani
Chris Catignani
Jawaban edit 3 Juni 2019 в 3:40
7
0
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
 Serraniel
Serraniel
25 April 2017 в 9:07
2017-04-25T09:07:04+00:00
Lebih
Sumber
Sunting
#33349039

Kompiler ingin Anda menggunakan sintaksis berikut:

var select = new OleDbCommand
{
   Connection = cnDTC,
   CommandText = string.Format("SELECT MAX(VERSION_NO) AS MAX_VERSION FROM ({0})", strSQL2)
};

Ini untuk kasus ke-3 Anda.

Chris Catignani
Chris Catignani
Jawaban edit 14 Juni 2019 в 1:41
2
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Inessa bu
Terdaftar 1 bulan yang lalu
2
Denis Babushkin
Terdaftar 1 bulan yang lalu
3
asakuno asakuno
Terdaftar 1 bulan yang lalu
4
aldo salerno
Terdaftar 1 bulan yang lalu
5
Анна Батицкая
Terdaftar 1 bulan yang lalu
Kecerdasan buatan untuk mengurai produk dari halaman mana pun
productapi.dev
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi