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.
anahtar sözcüğü, set özelliğe veya dizin oluşturucu öğesine değer atayan bir özellikte veya dizin oluşturucuda bir erişimci yöntemi tanımlar. Daha fazla bilgi ve örnek için bkz . Özellikler, Otomatik olarak uygulanan özellikler ve Dizin Oluşturucular.
Bir özelliğin get ve set erişimcinin özel bir yedekleme alanındaki bir değeri ayarlamak veya almaktan başka bir işlem gerçekleştirmediği basit durumlarda, otomatik olarak uygulanan özellikleri kullanabilirsiniz. Aşağıdaki örnek, otomatik olarak uygulanan bir özellik olarak uygulanır Hours .
class TimePeriod3
{
public double Hours { get; set; }
}
Önemli
Arabirim özelliği bildirimleri veya kısmi özellik için uygulama bildirimi için otomatik olarak uygulanan özelliklere izin verilmez. Derleyici, otomatik olarak uygulanan bir özelliği uygulayan bir bildirim olarak değil bildirim bildirimi olarak eşleşen söz dizimini yorumlar.
Aksesuar gövdelerinden birini uygulamanız gerektiğini fark edebilirsiniz.
field C# 14'e eklenen anahtar sözcüğü, alan destekli bir özellik bildirir. Siz diğerini el ile yazarken derleyicinin bir erişimci oluşturmasına izin vermek için alan destekli bir özellik kullanabilirsiniz. Derleyici sentezlenmiş field yedekleme alanına erişmek için anahtar sözcüğünü kullanırsınız:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
Genellikle erişimci, set önceki örnekte olduğu gibi bir değer atayan tek bir deyimden oluşur. Erişimciyi set ifade gövdeli üye olarak uygulayabilirsiniz. Aşağıdaki örnek hem hem de getset erişimcilerini ifade gövdeli üyeler olarak uygular.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Aşağıdaki örnek, adlı getözelliğin hem a set hem Seconds de erişimcisini tanımlar. Özellik değerini yedeklemek için adlı _seconds özel bir alan kullanır.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
C# dili belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.