Ist die Methodensignatur das was in den Klammern steht?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das was in den Klammern steht, sind Parameter (beim Aufruf auch als Argumente bezeichnet).

Somit sind numberOne und numberTwo hier die Parameter der Methode GetSum:

static int GetSum(int numberOne, int numberTwo)
{
  return numberOne + numberTwo;
}

static void Main()
{
  GetSum(1, 2);
}

und die Literale 1 und 2 sind die Argumente, die der Methode bei Aufruf übergeben werden.

Die Methodensignatur ist ein Teil des Methodenkopfs. Sie besteht aus Name und Parameterliste, wobei die Reihenfolge und der Typ / die Art des Parameters eine zusätzliche Rolle spielen. Der Rückgabetyp gehört nicht zur Signatur.

Beispiel:

GetSum(int numberOne, int numberTwo)

Anhand der Signatur ist eine Methode eindeutig identifizierbar. So kann der Compiler bei diesem Beispiel:

static int GetSum(int numberOne, int numberTwo)
{
  return numberOne + numberTwo;
}

static double GetSum(double numberOne, double numberTwo)
{
  return numberOne + numberTwo;
}

static void Main()
{
  GetSum(1, 2);
  GetSum(1.0, 2.0);
}

anhand des Parametertyps unterscheiden, welche Methode er exakt aufrufen muss.


Sabrina1993K 
Fragesteller
 16.01.2023, 00:36

Sehr gut erklärt danke dir habe es verstanden

0

Nein. Die Methodensignatur ist auch als Methodenkopf bekannt und beinhaltet Merkmale, die eine Methode eindeutig identifiziert - z.B. Methodenname, Rückgabewert, Parameterliste usw.

Also alles, was vor dem Methodenkörper dazu steht und zur Methode selbst gehört

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

Sabrina1993K 
Fragesteller
 16.01.2023, 00:11

Ok danke. Ich werde mich damit beschäftigen

0

Es gibt zwei Arten von Klammern.

Die Methodensignatur besteht aus:

  • Rückgabetyp
  • Name
  • Generische Typ-Parameter
  • Methoden-Parameter

Das ist aber nicht immer alles relevant, z.B. beim Aufruf oder Überladung ist der Rückgabetyp kein Teil der Signatur, bei der Kompatibilitätsprüfung mit einem Delegaten schon.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Nein die Klammern zeigen quasi, dass es sich um einen Funktionsaufruf handelt.