webForumDet fria alternativet

Operator Overloading

3 svar · 190 visningar · startad av trexter

trexterMedlem sedan mars 20021 889 inlägg
#1

Jag förstår inte vad som är fel. Vill kunna använda operatorn == på ett annorlunda sätt, nämligen genom att jämföra två objekts alla properties och se om de är lika/olika.

Kod: public static bool operator == (Car Car1, Car Car2)
Felmeddelande: Compiler Error Message: CS0563: One of the parameters of a binary operator must be the containing type

:)

trexterMedlem sedan mars 20021 889 inlägg
#2

Var i koden ska jag placera överladdnignen?

:)

nikoMedlem sedan juni 20022 599 inlägg
#3

Varsomhelst inuti klassen Car. Du måste nog också samtidigt överlagra "!=", tror jag.

public class Car
{
	public static bool operator == (Car Car1, Car Car2) 
	{
		//Din kod.
	}
	
	public static bool operator != (Car Car1, Car Car2) 
	{
		return !(Car1==Car2); 
	}

}
trexterMedlem sedan mars 20021 889 inlägg
#4

Äsch, att jag inte tänkte på det! :i
Och japp, man måste också överlagra motsatt operator. ;)

Tack! :birp

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)