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

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • LardTardProductions's channel

    LardTardProd

    10 NİSAN 2009
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008