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 newkata kunci dalam private static newvalid dan dapat dikompilasi.
Pertanyaan : Apa arti newkata kunci dalam tanda tangan metode? Saya berasumsi itu adalah sesuatu yang diperkenalkan di C # 3.0?
Apa bedanya dengan ini override?
newsebagai pengubah pada metode (atau anggota tipe lain) bukanlah "sesuatu yang diperkenalkan di C # 3.0". Itu sudah ada sejak versi pertama C #.