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

  • Distractify

    Distractify

    1 Aralık 2011
  • modica89

    modica89

    24 HAZİRAN 2007
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007