C#확장 방법 시작 예시
확장 방법 정의:
l 은 정적 클래스, 정적 메서드여야 합니다
l 첫 번째 매개변수에는 "this" 키워드가 포함되어 있으며, 이 메소드가 🎜에 할당된
코드 설명: 여기의 예는 정적 클래스 myExtension, 확장 메서드추가를 작성하는 것입니다. , 모든 INT 유형 번호가 Add 메소드를 호출할 수 있음을 나타냅니다. 🎜>내 확장.
사용법을 살펴보겠습니다:
코드 설명: 이 코드의 역할은 int 유형을 선언하고 7에 값을 할당하는 것입니다. 그런 다음 Add 메서드를 호출하면 다음과 같이 IntelliSense가 표시됩니다.
확장 방법이 아래쪽 화살표로 표시된 것을 확인할 수 있습니다. 그런 다음 호출하고 int를 지정하세요. params 키워드를 사용했기 때문에 자동으로 로 구문 분석됩니다. int 배열을 사용하고 rlt 변수를 사용하여 이를 수신하고 표시되면 결과가 표시됩니다:
영어를 표준화할 수 있는 문자열 확장 메서드를 작성했습니다. 예를 들어 Hello World를 전달하면 hElo 및 WORld가 출력됩니다 용도: 위 내용은 C# 확장 메소드 소개 예제 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(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();
}
}
}