SORU
17 Kasım 2009, Salı


Döndüremez değiştirin hata c#

Otomatik uygulanan özellikler kullanıyorum. Kendi destek benim değişken bildirmek için aşağıdaki gidermek için en hızlı yol sanırım?

public Point Origin { get; set; }

Origin.X = 10; // fails with CS1612

Hata Mesajı: Cannot 'ifadesi' çünkü dönüş değeri değiştir bir değişken değildir

Bir girişim Ara bir ifadenin sonucu olan değer bir türünü değiştirmek için yapıldı. Bu değer kalıcı değildir, çünkü değer bir değişiklik olmayacak.

Bu hatayı gidermek için, bir ara değer ifadenin sonucu saklamak, ya da ara ifadesi için bir başvuru türü kullanın.

CEVAP
17 Kasım 2009, Salı


Bu Point değer türü (struct) olmasıdır.

Origin özellik erişim, bu nedenle, bir erişimkopyaladeğeri tarafından düzenlenen sınıf değeri değil, kendisini olduğu gibi bir başvuru türü (class), eğer set X mülkümde sonra sen ayarlama özelliği kopyala ve sonra atarak, bırakarak, orijinal değeri değişmez. Bu muhtemelen derleyicisi bu konuda size uyarı. bu yüzden de düşündüğünüz gibi değil.

Eğer X sadece değerini değiştirmek isterseniz, böyle bir şey yapmanız gerekir:

Origin = new Point(10, Origin.Y);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007