Rumah >pembangunan bahagian belakang >C++ >Bagaimana C# Menyelesaikan Pembina Terlebih Apabila Nilai Null Diluluskan?
Analisis pembina berbilang dimuatkan dan parameter nol dalam C#
Andaikan kelas mengandungi berbilang pembina:
<code class="language-csharp">public class EffectOptions { public EffectOptions(params object[] options) { } public EffectOptions(IEnumerable<object> options) { } public EffectOptions(string name) { } public EffectOptions(object owner) { } public EffectOptions(int count) { } public EffectOptions(Point point) { } }</code>
Apabila memanggil pembina dengan nilai nol, seperti EffectOptions options = new EffectOptions(null);
, sistem resolusi beban lampau akan mengikut langkah berikut:
1. Kenal pasti pembina yang berkenaan:
2. Kecualikan pembina yang tidak berkenaan:
3. Parse params constructor:
4. Kenal pasti calon terbaik yang boleh digunakan:
Dalam kes ini, kesamaran timbul kerana:
object[]
dan string
kedua-duanya dianggap "khusus" (tiada lebih khusus di antaranya). Butiran algoritma:
Atas ialah kandungan terperinci Bagaimana C# Menyelesaikan Pembina Terlebih Apabila Nilai Null Diluluskan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!