SORU
2 EYLÜL 2009, ÇARŞAMBA


Bir 'gibi bir özellik' C parametre geçme#

Ben varsayalım:

public class Bob
{
    public int Value { get; set; }
}

Geçmek istiyorumDeğerbir parametre gibi üyesi

Int32.TryParse("123", out bob.Value);

ama derleme hatası alıyorum"'bağımsız bir değişken olarak sınıflandırılmamıştır."'Acaba bu, ya da bir değişken ayıklamak zorunda kalacak mıyım, à la ulaşmak için:

int value;
Int32.TryParse("123", out value);
bob.Value = value;

CEVAP
2 EYLÜL 2009, ÇARŞAMBA


Açıkça bir alan ve "normal" bir yerine özellik otomatik olarak uygulanan bir özellik: . kullanırdın

public class Bob
{
    private int value;
    public int Value
    { 
        get { return value; } 
        set { this.value = value; }
    }
}

O zaman geçirebilirsinizalanbir parametre olarak:

Int32.TryParse("123", out bob.value);

Ama tabii ki, sadece alan özel (ve olmalıdır!) aynı sınıf içinde çalışacak.

Özellikleri sadece bunu yapmana izin yok. Sen nereden VBolabilirreferans tarafından kullanılmak veya bir özellik geçmek dışında bir parametre olarak, temelde ekstra geçici bir değişken var.

Eğer TryParse, dönüş değeri hakkında umursamadın bile her zaman kendi yardımcı yöntem yazabilirsiniz:

static int ParseOrDefault(string text)
{
    int tmp;
    int.TryParse(text, out tmp);
    return tmp;
}

O zaman kullanın:

bob.Value = Int32Helper.ParseOrDefault("123");

Bu şekilde eğer birden fazla yerde bunu yapmak için ihtiyacınız varsa bile geçici bir değişken kullanabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • Learn word 2013 tutorials

    Learn word 2

    5 AĞUSTOS 2014
  • spyib

    spyib

    9 Ocak 2007