Heim >Backend-Entwicklung >C#.Net-Tutorial >Einführungsbeispiel für die C#-Erweiterungsmethode
C#Erweiterungsmethode Beispiel für den ersten Schritt
Definition der Erweiterungsmethode:
l muss eine statische Klasse, statische Methode sein
l Der erste Parameter enthält das Schlüsselwort "this" und gibt an, welchem Typ
Codebeschreibung: Das Beispiel hier ist das Schreiben einer statischen Klasse, myExtension, einer ErweiterungsmethodeAdd , was darauf hinweist, dass alle INT-Typnummern die Möglichkeit haben, diese Add-Methode aufzurufen, vorausgesetzt, dass MeineErweiterung.
Werfen wir einen Blick auf die Verwendung:
Codebeschreibung: Dieser Code deklariert eine Zahl vom Typ int und weist den Wert 7 zu, und Wenn Sie dann die Methode Add aufrufen, sehen Sie IntelliSense wie folgt:
Sie können sehen, dass die Erweiterungsmethode mit einem Abwärtspfeil markiert ist. Dann rufen Sie es einfach auf und geben Sie ihm ein beliebiges int. Da ich das Schlüsselwort params verwendet habe, wird es automatisch in analysiert int-Array, dann verwenden Sie die Variable rlt, um es zu empfangen, und wenn es angezeigt wird, sehen Sie das Ergebnis:
Eine Methode zum Erweitern von Zeichenfolgen geschrieben, die Englisch standardisieren kann. Beispielsweise werden hEllo und WORld ausgegeben, wenn sie übergeben werden: Hello World Verwendung: Das Obige ist der Inhalt des Einführungsbeispiels für die C#-Erweiterungsmethode. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace wpfLab1
{
public static class StrExtensenClass
{
public static string GetNormalFormat(this string s)
{
s = RemoveExtraSpace(s);
string[] words = s.Split(' ');
string ret = "";
foreach (var word in words)
{
ret += StrFstChrUpr(word) + " ";
}
return ret;
}
public static string RemoveExtraSpace(this string s)
{
if (s == null || s.Length <= 1)
{
return s;
}
bool lastChrIsSpace = false;
string ret = "";
foreach (var chr in s)
{
if (chr == ' ')
{
if (lastChrIsSpace)
{
continue;
}
else
{
lastChrIsSpace = true;
ret += chr;
}
}
else
{
ret += chr;
lastChrIsSpace = false;
}
}
return ret;
}
private static string StrFstChrUpr(string s)
{
if (s == null || s.Length < 1)
{
return s;
}
string lowerStr = s.ToLower().Remove(0, 1);
string upperStr = Char.ToUpper(s[0]).ToString();
return (upperStr + lowerStr);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using wpfLab1;
namespace wpfLab1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btnHello_Click(object sender, RoutedEventArgs e)
{
string s = "hEllo wOrLd, hi, world , aa dd dw WWdd a ";
lblHello.Content = s.GetNormalFormat();
}
}
}