확장의 문자 그대로의 의미에 따라 추가 메서드를 C# 확장 메서드라고 합니다. 이를 사용하면 원본 구조체, 클래스 또는 인터페이스를 변경하거나 상속 또는 재구성하지 않고도 추가 메서드를 추가할 수 있으며 이러한 확장 메서드를 추가할 수 있습니다. 우리가 만든 사용자 정의 클래스, .NET 프레임워크의 클래스 또는 타사 클래스 또는 인터페이스에 적용되며 이러한 확장 메서드는 정의된 네임스페이스를 포함하여 프로그램 흐름 전반에 걸쳐 액세스할 수 있으며 이는 정적 메서드입니다. 정적 클래스에 정의된 특별한 종류입니다.
네임스페이스, 클래스, 확장 방법을 정의합니다.
구문:
namespace namespace_name { public static class class_name { public static bool extension_method_name(parameters_list) { //Blocks of code } } }
여기서 네임스페이스_이름은 확장 메서드가 정의된 네임스페이스의 이름입니다.
Class_name은 확장 메서드가 정의된 정적 클래스의 이름입니다.
Extension_method_name은 확장 메서드의 이름입니다.
매개변수 목록은 첫 번째 매개변수가 메소드가 작동할 연산자의 유형인 매개변수 목록이며 이 키워드 앞에 접두어가 붙습니다.
다음은 C# 확장 메서드의 예입니다
두 정수를 비교하는 프로그램의 Extension 메서드를 보여주는 C# 프로그램:
코드:
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(); } } }
출력:
설명: 위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 두 정수를 비교하는 확장 메서드가 정의된 확장 메서드 클래스라는 정적 클래스가 정의됩니다. 그런 다음 다른 클래스에 정의되어 있지만 동일한 네임스페이스에 속하더라도 확장 메서드를 추가할 수 있는 check1이라는 또 다른 클래스가 정의됩니다. 확장 메서드는 두 정수의 비교 결과를 반환합니다. 스냅샷의 출력은 위의 스냅샷과 같습니다.
문자열 길이를 알아내는 프로그램의 Extension 메서드를 보여주는 C# 프로그램:
코드:
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(); } } }
출력:
설명: 위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 확장 메소드 클래스라는 정적 클래스가 정의되며, 그 안에 매개변수로 전달된 문자열의 길이를 계산하는 확장 메소드가 정의됩니다. 그런 다음 다른 클래스에 정의되어 있지만 동일한 네임스페이스에 속하더라도 확장 메서드를 추가할 수 있는 check1이라는 또 다른 클래스가 정의됩니다. 확장 메서드는 매개 변수로 전달된 문자열의 길이를 결과로 반환합니다. 스냅샷의 출력은 위의 스냅샷과 같습니다.
코드:
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(); } } }
출력:
설명: 위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 확장 메서드 클래스라는 정적 클래스가 정의되고, 여기에 매개 변수로 전달된 두 개의 숫자를 추가하는 확장 메서드가 정의됩니다. 그런 다음 다른 클래스에 정의되어 있지만 동일한 네임스페이스에 속하더라도 확장 메서드를 추가할 수 있는 check1이라는 또 다른 클래스가 정의됩니다. 확장 메소드는 두 숫자를 더한 후 결과를 반환합니다.
이 튜토리얼에서는 정의, 구문, 프로그래밍 예제 및 출력 작업을 통해 C# 확장 메서드의 개념을 이해합니다.
C# 확장 메서드에 대한 안내입니다. 여기서는 C# 확장 메서드 소개와 해당 예제 및 코드 구현과 함께 작업하는 방법에 대해 설명합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –
위 내용은 C# 확장 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!