Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anggota yang diperlukan 'memberName' harus diberi nilai, tidak dapat menggunakan anggota berlapis atau penginisialisasi koleksi.
Saat menginisialisasi objek dengan required
anggota, Anda harus langsung menetapkan nilai kepada anggota. Anda tidak dapat menggunakan anggota berlapis atau penginisialisasi koleksi untuk mengatur properti required
anggota tanpa terlebih dahulu membuat instansnya.
Contoh
Sampel berikut menghasilkan CS9036:
class C
{
public string? Prop { get; set; }
}
class Program
{
public required C C { get; set; }
static void Main()
{
var program = new Program()
{
// error CS9036: Required member 'Program.C' must be assigned a value, it cannot use a nested member or collection initializer.
C = { Prop = "a" }
};
}
}
Solusi
Untuk memperbaiki kesalahan ini, secara langsung tetapkan instans baru properti yang diperlukan dan inisialisasi anggotanya:
class C
{
public string? Prop { get; set; }
}
class Program
{
public required C C { get; set; }
static void Main()
{
var program = new Program()
{
// Correct: Assign a new instance of C and then initialize its Prop property
C = new C { Prop = "a" }
};
}
}
Untuk informasi selengkapnya tentang anggota yang diperlukan, lihat artikel referensi pengubah yang diperlukan dan panduan Penginisialisasi Objek dan Koleksi .