CSharp Überladung mehrerer optionaler Parameter des gleiches Types bei gleicher Paramteranzahl
Hallo
Ich habe eine Funktion wie zum Beispiel
Ich möchte aber auch folgende Funktionen verwenden:
Leider macht es keinen Sinn anstatt den Parameter zu übergeben, 0 übergebe wie z.B. so
Ich dachte mir eine Enumeration zu machen die als Parameter hinzugefügt werden muss, die dann halt die Inhalte X, Y, Z, XY, XZ, YZ und Z hat und angibt, welche Parameter davon verwertet werden sollen, was mir aber bissl zu unprofessionell erscheint.
Dasselbe mit G1_X, G1_Y, G1_Z, G1_XY, ...
Jemand eine Idee?
Gruß
Christopher
Ich habe eine Funktion wie zum Beispiel
public void G1(double Xnnn, double Ynnn, double Znnn)
Ich möchte aber auch folgende Funktionen verwenden:
public void G1(double Xnnn, double Ynnn)
public void G1(double Xnnn, double Znnn
public void G1(double Ynnn, double Znnn)
Leider macht es keinen Sinn anstatt den Parameter zu übergeben, 0 übergebe wie z.B. so
public void G1(double Xnnn=0, double Ynnn=0, double Znnn=0)
Ich dachte mir eine Enumeration zu machen die als Parameter hinzugefügt werden muss, die dann halt die Inhalte X, Y, Z, XY, XZ, YZ und Z hat und angibt, welche Parameter davon verwertet werden sollen, was mir aber bissl zu unprofessionell erscheint.
Dasselbe mit G1_X, G1_Y, G1_Z, G1_XY, ...
Jemand eine Idee?
Gruß
Christopher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 333255
Url: https://administrator.de/forum/csharp-ueberladung-mehrerer-optionaler-parameter-des-gleiches-types-bei-gleicher-paramteranzahl-333255.html
Ausgedruckt am: 22.12.2024 um 15:12 Uhr
2 Kommentare
Neuester Kommentar
Hi,
Visual Studio wird die Variante mit zwei Parametern nicht kompilieren. Selbst wenn es ginge wäre das ganz schlechter Stil. Benenne deine Funktionen nach dem was sie machen. Das Minimum wäre in den von dir angeführten Beispielen (was auch immer G1 machen sollen):
Das macht den Code leserlicher, dadurch nachvollziehbar und damit wiederum wartbar.
Gruß,
André
Visual Studio wird die Variante mit zwei Parametern nicht kompilieren. Selbst wenn es ginge wäre das ganz schlechter Stil. Benenne deine Funktionen nach dem was sie machen. Das Minimum wäre in den von dir angeführten Beispielen (was auch immer G1 machen sollen):
public void G1_FromXY(double Xnnn, double Ynnn)
public void G1_FromXZ(double Xnnn, double Znnn
public void G1_FromYZ(double Ynnn, double Znnn)
Das macht den Code leserlicher, dadurch nachvollziehbar und damit wiederum wartbar.
Gruß,
André