![]() |
c# operator überladen
Ein kleine grundlegende Sache die ich nicht ganz verstehe:
Code:
public static string operator +(string msg_a, string msg_b) Fehler: Error 1 One of the parameters of a binary operator must be the containing type Hoffe das liest bis morgen jemand! Danke! :) |
Ich habe zwar wenig ahnung von C#, aber in C++ kann man für den ersten Parameter nur ein Objekt der eigenen Klasse verwenden. Die einzige Ausnahme bilden Globale-friend-Funktionen. (als Bsp.: irgendwas = einKlassenobjekt + nochirgendwas, das geht aber nur als friend-Funktion: irgendwas = nochirgendwas + einKlassenobjekt)
Aber wie weit das jetzt auf C# zutrifft, weiß ich nicht aber möglicherweise hilft es ja weiter. versuch mal den Parameter "string msg_a" auf "static string msg_a" zu ändern, möglicherweise hilft das ja schon. |
ich habe jetzt keinen bock das auszuprobieren, aber probier mal String mit großem S.
oder probier mal den operator * zu verwenden. ein + auf strings gibts nämlich schon. evntl. auch public override static String operator +(String msg_a, String msg_b) |
Das kannst du so nicht machen.
Du bist nicht in C++. Wenn du einen Operator überlädst dann musst du dies in der Klasse für die der Operator angewandt werden soll tun. hier ein kleines beispiel: kannst natürlich auch einen beliebigen anderen Datentyp zurrückgeben zB int. ABER der Operator MUSS in der Klasse überladen werden. mfg sirleo P.s.:Suchen hilft [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] keine 5min suchen,zB mit BING^^. |
@DerGecko...
Mann, mann, mann... Ein typischer Beitrag hier: - schlecht formulierte Frage - unvollständige Angaben - unfähig selbst zu suchen und finden Warum versucht man sich dann an einer Programmiersprache? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.