C# 확장 방법
확장의 문자 그대로의 의미에 따라 추가 메서드를 C# 확장 메서드라고 합니다. 이를 사용하면 원본 구조체, 클래스 또는 인터페이스를 변경하거나 상속 또는 재구성하지 않고도 추가 메서드를 추가할 수 있으며 이러한 확장 메서드를 추가할 수 있습니다. 우리가 만든 사용자 정의 클래스, .NET 프레임워크의 클래스 또는 타사 클래스 또는 인터페이스에 적용되며 이러한 확장 메서드는 정의된 네임스페이스를 포함하여 프로그램 흐름 전반에 걸쳐 액세스할 수 있으며 이는 정적 메서드입니다. 정적 클래스에 정의된 특별한 종류입니다.
C# 확장 메서드 구문
네임스페이스, 클래스, 확장 방법을 정의합니다.
구문:
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# 확장 메서드 작업
- 확장 메소드는 추가로 생성되는 사용자 정의 메소드이며 원래 클래스의 일부가 아닙니다.
- 정적 클래스가 정의된 네임스페이스가 정의되고 정적 클래스 내에 확장 메서드가 정의됩니다. 확장 메서드가 정의된 네임스페이스를 사용하면 해당 메서드를 애플리케이션 전체에서 사용할 수 있습니다.
- 확장 메소드는 첫 번째 매개변수가 this 키워드 접두사와 함께 작동할 연산자의 유형인 정적 클래스 내부에 정의된 정적 메소드의 특수한 경우입니다.
- 확장 메서드는 .NET 프레임워크 클래스, 사용자 정의 클래스, 구조체 또는 인터페이스, 타사 클래스에 포함될 수 있습니다.
C# 확장 메서드 구현 예
다음은 C# 확장 메서드의 예입니다
예시 #1
두 정수를 비교하는 프로그램의 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이라는 또 다른 클래스가 정의됩니다. 확장 메서드는 두 정수의 비교 결과를 반환합니다. 스냅샷의 출력은 위의 스냅샷과 같습니다.
예시 #2
문자열 길이를 알아내는 프로그램의 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이라는 또 다른 클래스가 정의됩니다. 확장 메서드는 매개 변수로 전달된 문자열의 길이를 결과로 반환합니다. 스냅샷의 출력은 위의 스냅샷과 같습니다.
예시 #3
코드:
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#의 난수 생성기
- Java의 정적 생성자
- C#의 TextWriter
- C#의 정적 생성자
위 내용은 C# 확장 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C#을 사용한 Active Directory 가이드. 여기에서는 소개와 구문 및 예제와 함께 C#에서 Active Directory가 작동하는 방식에 대해 설명합니다.

C#의 난수 생성기 가이드입니다. 여기서는 난수 생성기의 작동 방식, 의사 난수 및 보안 숫자의 개념에 대해 설명합니다.

C#의 액세스 수정자에 대한 안내입니다. 예제 및 출력과 함께 C#의 액세스 한정자의 소개 유형에 대해 논의했습니다.

C# 데이터 그리드 뷰 가이드. 여기서는 SQL 데이터베이스 또는 Excel 파일에서 데이터 그리드 보기를 로드하고 내보내는 방법에 대한 예를 설명합니다.