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

  • Break

    Break

    10 Aralık 2005
  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008