webForumDet fria alternativet
Logga in / Bli medlem

Operator Overloading

.NET

3 svar · 190 visningar · startad av trexter

Medlem sedan mars 20021 889 inlägg
Frågan#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

:)

Medlem sedan mars 20021 889 inlägg
#2

Var i koden ska jag placera överladdnignen?

:)

Medlem 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); 
	}

}
Medlem 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

266 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)