> 백엔드 개발 > C#.Net 튜토리얼 > C# 확장 방법

C# 확장 방법

WBOY
풀어 주다: 2024-09-03 15:32:56
원래의
770명이 탐색했습니다.

확장의 문자 그대로의 의미에 따라 추가 메서드를 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();
}
}
}
로그인 후 복사

출력:

C# 확장 방법

설명: 위 프로그램에는 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();
}
}
}
로그인 후 복사

출력:

C# 확장 방법

설명: 위 프로그램에는 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();
}
}
}
로그인 후 복사

출력:

C# 확장 방법

설명: 위 프로그램에는 check라는 네임스페이스가 정의되어 있습니다. 그런 다음 확장 메서드 클래스라는 정적 클래스가 정의되고, 여기에 매개 변수로 전달된 두 개의 숫자를 추가하는 확장 메서드가 정의됩니다. 그런 다음 다른 클래스에 정의되어 있지만 동일한 네임스페이스에 속하더라도 확장 메서드를 추가할 수 있는 check1이라는 또 다른 클래스가 정의됩니다. 확장 메소드는 두 숫자를 더한 후 결과를 반환합니다.

결론

이 튜토리얼에서는 정의, 구문, 프로그래밍 예제 및 출력 작업을 통해 C# 확장 메서드의 개념을 이해합니다.

추천기사

C# 확장 메서드에 대한 안내입니다. 여기서는 C# 확장 메서드 소개와 해당 예제 및 코드 구현과 함께 작업하는 방법에 대해 설명합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –

  1. C#의 난수 생성기
  2. Java의 정적 생성자
  3. C#의 TextWriter
  4. C#의 정적 생성자

위 내용은 C# 확장 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿