Saat melakukan refactoring, saya akhirnya membuat metode seperti contoh di bawah ini. Jenis data telah diubah demi kesederhanaan.
Saya sebelumnya memiliki pernyataan tugas seperti ini:
MyObject myVar = new MyObject();
Itu direfraktorisasi menjadi ini secara tidak sengaja:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Ini adalah hasil dari kesalahan potong / tempel di pihak saya, tetapi new
kata kunci dalam private static new
valid dan dapat dikompilasi.
Pertanyaan : Apa arti new
kata kunci dalam tanda tangan metode? Saya berasumsi itu adalah sesuatu yang diperkenalkan di C # 3.0?
Apa bedanya dengan ini override
?
new
sebagai pengubah pada metode (atau anggota tipe lain) bukanlah "sesuatu yang diperkenalkan di C # 3.0". Itu sudah ada sejak versi pertama C #.