Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Gerekli 'memberName' üyesine bir değer atanmalıdır; iç içe üye veya koleksiyon başlatıcı kullanılarak bir atama yapılamaz.
Bir nesneyi bir required
üyeyle başlatırken, üyeye doğrudan bir değer atamanız gerekir. Önce örneklendirilmeden required
üyesinin özelliklerini ayarlamak için iç içe bir üye veya koleksiyon başlatıcı kullanamazsınız.
Örnek
Aşağıdaki örnek CS9036 oluşturur:
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" }
};
}
}
Çözüm
Bu hatayı düzeltmek için gerekli özelliğin yeni bir örneğini doğrudan atayın ve üyelerini başlatın:
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" }
};
}
}
Gerekli üyeler hakkında daha fazla bilgi için gerekli değiştirici başvuru makalesine ve Nesne ve Koleksiyon Başlatıcıları kılavuzuna bakın.