Inhaltsverzeichnis
Syntax von C#-Erweiterungsmethoden
Funktionsweise von C#-Erweiterungsmethoden
Beispiele zur Implementierung von C#-Erweiterungsmethoden
Beispiel #3
Fazit
Empfohlener Artikel
Heim Backend-Entwicklung C#.Net-Tutorial C#-Erweiterungsmethoden

C#-Erweiterungsmethoden

Sep 03, 2024 pm 03:32 PM
c# c# tutorial

Gemäß der wörtlichen Bedeutung von Erweiterung werden die zusätzlichen Methoden als C#-Erweiterungsmethoden bezeichnet, mit denen die zusätzlichen Methoden hinzugefügt werden können, ohne Änderungen vorzunehmen oder die ursprüngliche Struktur, Klasse oder Schnittstelle zu erben oder umzustrukturieren, und wir können solche Erweiterungsmethoden hinzufügen auf die von uns erstellten benutzerdefinierten Klassen, die Klassen des .NET Frameworks oder auf die Klassen von Drittanbietern oder Schnittstellen, und auf diese Erweiterungsmethoden kann im gesamten Programmablauf zugegriffen werden, indem die Namespaces, in denen sie definiert sind, einbezogen werden, und es handelt sich um eine statische Methode einer besonderen Art, die in einer statischen Klasse definiert ist.

Syntax von C#-Erweiterungsmethoden

Definieren des Namespace, der Klasse und der Erweiterungsmethode.

Syntax:

namespace namespace_name
{
public static class class_name
{
public static bool extension_method_name(parameters_list)
{
//Blocks of code
}
}
}
Nach dem Login kopieren

Wobei namespace_name der Name des Namespace ist, in dem die Erweiterungsmethode definiert ist.

Klassenname ist der Name der statischen Klasse, in der die Erweiterungsmethode definiert ist.

Extension_method_name ist der Name der Erweiterungsmethode.

Die Parameterliste ist die Liste der Parameter, wobei der erste Parameter der Typ des Operators ist, mit dem die Methode arbeiten soll, dem dieses Schlüsselwort vorangestellt wird.

Funktionsweise von C#-Erweiterungsmethoden

  • Die Erweiterungsmethoden sind die benutzerdefinierten Methoden, die zusätzlich erstellt werden und nicht Teil der ursprünglichen Klasse sind.
  • Es wird ein Namespace definiert, in dem eine statische Klasse definiert wird, und dann wird die Erweiterungsmethode innerhalb der statischen Klasse definiert. Durch die Verwendung des Namespace, in dem die Erweiterungsmethode definiert ist, kann die Methode in der gesamten Anwendung verwendet werden.
  • Die Erweiterungsmethode ist ein Sonderfall der statischen Methode, die innerhalb einer statischen Klasse definiert ist, deren erster Parameter der Typ des Operators ist, mit dem sie operieren soll, mit einem Präfix dieses Schlüsselworts.
  • Die Erweiterungsmethoden können in .NET Framework-Klassen, benutzerdefinierten Klassen, Strukturen oder Schnittstellen sowie Klassen von Drittanbietern enthalten sein.

Beispiele zur Implementierung von C#-Erweiterungsmethoden

Unten finden Sie Beispiele für C#-Erweiterungsmethoden

Beispiel #1

C#-Programm zur Demonstration der Erweiterungsmethode in einem Programm zum Vergleichen zweier Ganzzahlen:

 Code:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to compare two integers is defined
public static bool extensionmethodname(this intstr, intval)
{
return str>val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 565;
//extension method defined in another static class is called here
bool z = stri.myExtensionMethod(200);
Console.WriteLine("The result of the comparison is: {0}", z);
Console.ReadLine();
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Erweiterungsmethoden

Erklärung: Im obigen Programm ist ein Namespace namens check definiert. Dann wird eine statische Klasse namens Erweiterungsmethodenklasse definiert, in der die Erweiterungsmethode zum Vergleichen zweier Ganzzahlen definiert wird. Dann wird eine weitere Klasse namens check1 definiert, innerhalb derer die Erweiterungsmethode hinzugefügt werden kann, obwohl sie in einer anderen Klasse definiert ist, aber unter demselben Namensraum liegt. Die Erweiterungsmethode gibt das Ergebnis des Vergleichs zweier Ganzzahlen zurück. Die Ausgabe des Schnappschusses ist wie im Schnappschuss oben dargestellt.

Beispiel #2

C#-Programm zur Demonstration der Extension-Methode in einem Programm zum Ermitteln der Länge einer Zeichenfolge:

 Code:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to find out the length of a string is defined
public static intextensionmethodname(this string str)
{
return str.Length;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
string stri = "ShobhaShivakumar";
//extension method defined in another static class is called here
int z = stri.extensionmethodname();
Console.WriteLine("The length of the string obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Erweiterungsmethoden

Erklärung: Im obigen Programm ist ein Namespace namens check definiert. Anschließend wird eine statische Klasse mit der Bezeichnung „Erweiterungsmethodenklasse“ definiert, in der die Erweiterungsmethode zur Berechnung der Länge der als Parameter übergebenen Zeichenfolge definiert wird. Dann wird eine weitere Klasse namens check1 definiert, innerhalb derer die Erweiterungsmethode hinzugefügt werden kann, obwohl sie in einer anderen Klasse definiert ist, aber unter demselben Namensraum liegt. Als Ergebnis gibt die Erweiterungsmethode die Länge des als Parameter übergebenen Strings zurück. Die Ausgabe des Schnappschusses ist wie im Schnappschuss oben dargestellt.

Beispiel #3

Code:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to add two numbers is defined
public static intextensionmethodname(this intstr, intval)
{
return str+val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 100;
//extension method defined in another static class is called here
int z = stri.extensionmethodname(200);
Console.WriteLine("The result of addition of two numbers obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Erweiterungsmethoden

Erklärung: Im obigen Programm ist ein Namespace namens check definiert. Anschließend wird eine statische Klasse mit der Bezeichnung „Erweiterungsmethodenklasse“ definiert, in der die Erweiterungsmethode zum Hinzufügen zweier als Parameter übergebener Zahlen definiert wird. Dann wird eine weitere Klasse namens check1 definiert, innerhalb derer die Erweiterungsmethode hinzugefügt werden kann, obwohl sie in einer anderen Klasse definiert ist, aber unter demselben Namensraum liegt. Die Erweiterungsmethode gibt das Ergebnis nach Addition der beiden Zahlen zurück.

Fazit

In diesem Tutorial verstehen wir das Konzept der C#-Erweiterungsmethoden durch Definition, ihre Syntax und das Durcharbeiten von Programmierbeispielen und deren Ausgaben.

Empfohlener Artikel

Dies ist eine Anleitung zu C#-Erweiterungsmethoden. Hier diskutieren wir die Einführung in C#-Erweiterungsmethoden und ihre Funktionsweise zusammen mit ihren Beispielen und der Code-Implementierung. Sie können auch unsere anderen empfohlenen Artikel durchsehen, um mehr zu erfahren –

  1. Zufallszahlengenerator in C#
  2. Statischer Konstruktor in Java
  3. TextWriter in C#
  4. Statischer Konstruktor in C#

Das obige ist der detaillierte Inhalt vonC#-Erweiterungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Active Directory mit C#

Zugriffsmodifikatoren in C# Zugriffsmodifikatoren in C# Sep 03, 2024 pm 03:24 PM

Zugriffsmodifikatoren in C#

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Zufallszahlengenerator in C#

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

C#-Datenrasteransicht

C# StringReader C# StringReader Sep 03, 2024 pm 03:23 PM

C# StringReader

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Muster in C#

C# StringWriter C# StringWriter Sep 03, 2024 pm 03:23 PM

C# StringWriter

BinaryWriter in C# BinaryWriter in C# Sep 03, 2024 pm 03:22 PM

BinaryWriter in C#

See all articles