2010-05-09 19 views

cevap

11

Sen (siz kısmen otomatik özelliği olamaz) alıcı ve ayarlayıcı ikisi için de bir destek alanı gerekir: Bir kısmen otomatik özellik tanımlamak edemez

private string name; 
public string Name 
{ 
    get 
    { 
    return name; 
    } 
    set 
    { 
    // do validation or other stuff 
    name = value.ToLower(); 
    } 
} 
4

. Eski moda bir şeyler yapmak zorunda kalacaksınız: destek alanını tanımlayın ve alıcı ve ayarlayıcı mantığını kendiniz uygulayın.

string _name; 

public string Name { 
    set { _name = value.ToLower(); } 
    set { return _name; } 
} 
3
private string _name; 

public string Name 
{ 
    get {return _name;} 
    set 
    { 
    _name = value.ToLower(); 
    } 
} 
+1

_There _guidelines _for _this - _don't _use _underscores. –

+0

@Callum Rogers - Ahahahaaha .. Aksi halde berbat bir sabah, bu yüzüme bir gülümseme getirdi. –

1

Sonra oto/get set özelliğini oluşturulan kullanamaz. C# 3 ve daha sonra bu sözdizimini mülk için kullanabilirsiniz. Ancak, ayarlamadan önce değer üzerinde herhangi bir işlem yapmak istiyorsanız, o zaman bu yardımcı olmaz. Bir dezavantaj ise, hem seti hem de almayı kullanmak zorundasınız, sadece getiri beyan edemezsiniz. Alternatif ayarlayıcıyı özel yapmaktır. Durumunuzda, eski sürüm özelliklerini kullanmanız gerekir.

private string _name; 
public string Name 
{ 
    get {return _name;} 
    set 
    { 
     //do any operation 
    _name = value.ToLower(); 
    } 
} 
0

public string Name { get; set; } Bunlar denir Oto Uygulanan Özellikler ':

İlgili konular