Adakah "menggunakan" dan Saya Boleh Pakai Disalahgunakan untuk Mencapai Tingkah Laku Terskop untuk Keselamatan Pengecualian?
Dalam usaha untuk menguatkuasakan mekanisme pembersihan yang betul dan memastikan boleh diramal pengurusan negeri dalam skop tertentu, pembangun C sering menggunakan corak di mana kelas mengendalikan keadaan masuk dan keluar untuk kelas lain melalui pembina dan pemusnah. Dalam C#, fungsi yang diingini boleh dicapai menggunakan IDisposable dan "menggunakan." Walau bagaimanapun, sesetengah pihak berpendapat bahawa pendekatan ini merupakan penyalahgunaan tujuan yang dimaksudkan bagi konstruk ini.
Soalan: Adakah penggunaan "menggunakan" dan IDisposable dengan cara ini dianggap kesat?
Jawapan: Ya, penggunaan "menggunakan" dan IDisposable ini dilihat secara meluas sebagai penyalahgunaan atas beberapa sebab:
Akibat Penyalahgunaan:
Selain itu, pendekatan ini boleh memperkenalkan kelemahan halus:
Kesimpulan:
Walaupun mungkin wajar untuk mencapai tingkah laku berskop untuk keselamatan pengecualian, penggunaan IDisposable dan "menggunakan" dalam ini cara biasanya dianggap sebagai penyalahgunaan fungsi yang dimaksudkan. Ia mengaburkan sifat sebenar manipulasi keadaan, menghalang kebolehsemakan dan boleh memperkenalkan potensi kelemahan.
Atas ialah kandungan terperinci Adakah Menggunakan `menggunakan` dan `IDDisposable` untuk Keselamatan Pengecualian Skop Satu Penyalahgunaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!