2013-02-11 5 views
8

. Bana yardım etmek kod örnekleri gerekiyorsaC# bir sınıfa negatif operatörü (?) Ekleyin Burada doğru kelime kullanarak olmayabilir ve başıma yanıt bulamıyor neden olabilir

myMethod(myClass, -myClass);

: Bunu yapabilmek ne javascipt ... Sınıfımdaki operatörü, ama olumsuz bir operatöre eklemek istediğiniz - Bir + & var Bilmeme izin ver, ama bence bu bir hayli boğazlı olmalı ... Ya da bu yapılamaz.

+2

yapmak gerekiyordu bu olumsuz operatör nedir? –

+0

sen düşünüyorsun [mantıksal olumsuzluk operatörü '!'] (Http://msdn.microsoft.com/en-us/library/f2kd6eb2 (v = vs.110) .aspx)? –

+7

Tek fazlı eksi operatörü aşırı yüklüyorsanız, aynı zamanda tek başına artı operatörüne aşırı yükleme yapmak iyi bir uygulamadır. Dünyanın en yararsız operatörü, biliyorum, ama aynı zamanda -ofo 've' foo 'dememek de tuhaf. –

cevap

23

Tabii, tekli - operatör is overloadable: Tüketiciler bu operatörlerin semantik habersiz olabilecek

public static MyClass operator -(MyClass myClass) 
{ 
    ... 
} 

bu özellikleri kötüye dikkat edin - yöntemlerin aksine (iyi adlandırılabilir), bunu genellikle bir türdeki bir özel operatörün ne yaptığı açıkça belli olmaz. Umarım, sınıfınız bir çeşit ya da benzer bir vektörü temsil eder mi?

+2

Beni buna döv! :) – MrLeap

+1

Harika ... Ama şimdi aptal hissediyorum. Bunu anlamalıydım; Operatörü sadece 1 parametre ile oluşturmayı düşünmedim bile. Teşekkürler! –

+0

ekstra ipuçları için ayrıca :(yanı –

4
public static YourClass operator -(YourClass value) 
{ 
} 
İlgili konular