AsyncRun 관련 질문드립니다.

C# 에서 AsyncRun 이 내장 되어 있는 것인가요? 구글링 했을 때
Docs 가 나오지 않는 걸 보면 내장 객체 , 함수 가 아닌듯 한데요

유지보수 소스 보면

class AppServerBase :  상속, 구현 클래스 , 인터페이스 등..
{
   ..... 
  this.AsyncRun(() => ~~~);
}

이러한데 이안에 혹은 상속 클래스안에 해당 AsyncRun() 이 정의되어 있지 않은데요

다른 클래스등에서 AppServerBase.AsyncRun , 위처럼 자기사진에서 AsyncRun() 을 하고 있습니다.

해당 AsyncRun() 을 클릭하면 아래 클래스가 나옵니다. 그렇지만 저 AsyncRun() 어떻게 불러온것인지
모르겠습니다. ㅠㅠ

static class async
{
    -- AsyncRun(~)
    {
        ....
     }
}
2개의 좋아요

참고로
Async 클래스 에 주석으로 아래처럼 써있습니다. 외부 클래스라는 게 무슨 말이죠??
using 문에는 외부 네임스페이스가 없습니다.

/// <summary>
/// Async extension class
/// </summary>
2개의 좋아요
  1. 아닙니다.

  2. 확장 메소드를 의미합니다. 메소드에 커서를 두고 구현으로 이동하면 살펴볼 수 있어요.

1개의 좋아요

사용하는 쪽에서 자체적으로 정의한 확장함수 같습니다.
IDE에서 해당함수 정의로 이동하는 기능이 있으니 그걸로 확인해보시면 됩니다.

1개의 좋아요

그렇다면 이런 확장함수를 어떻게 만든거죠?
마우스 되면 해당 class (Async) 로 이동합니다.
이렇게 하기위해서 어떻게 해줘야 할까요?

1개의 좋아요

이동도 되고 알맹이도 있는데.
사용이 안된다? 그럼 사용법에 문제가 있거나 잘못 만들었나보죠.
만든사람 찾아서 질문을 하시던가? 아니면 소스를 올리셔야죠.

1개의 좋아요

특별히 뭘 하는게 아니라 확장 메서드 만드는 법으로 정적 클래스로 정적 메서드를 만들면 됩니다.

아래의 링크를 참조하세요.

1개의 좋아요

정적클래스 + 정적메소드를 만들었지만
예를 들어 아래처럼 했는데 모두 오류가 되더군요
일반 Sttic 사용하듯이 A.test() 는 됩니다. 당연히…

static class A {
   sttic void test {
    // ....
    }
}
class Program
    static void Main(){
        Test(); // X
        Program pr = new Program();
        pr.Test(); // X
        this.Test(); // X
        Program.Test(); // X
    }
2개의 좋아요

문서에 보시면 메서드의 첫번째 인자가 좀 다릅니다. 문서를 봐보시겠어요?

1개의 좋아요
Static Class A 
{
	static void test 
	{
		...
	}
}

// class Program
static void Main()
{
	Test(); // X
	Program pr = new Program();
	pr.Test(); // X
	this.Test(); // X
	Program.Test(); // X
}

Static Class A 
{
	// 소스로 표현
	```
	소스코드
	```
}

이렇게하면 소스코드를 간편하게 볼 수 있어요 :+1:
( Or 소스코드를 드래그 후 Ctrl + E)

2개의 좋아요

@니꼴라오 코드블록을 사용해주세요.
제발요!!

1개의 좋아요

@니꼴라오 님, 질문을 올리실 때는 가급적 읽는 사람을 배려해주시면 좋겠어요.
니꼴라오님이 질문하는 전체 내용은, 니꼴라오님의 머릿속에만 있어요.

이렇게 매번 앞 뒤 문맥 없이, 정확한 주술관계 없이 누군가에게 말하듯이 문장을 나열하면
이걸 읽는 사람은 제대로 이해하는 게 불가능해요. 당연히 되묻게 되고 질문을 이해하는 데에만 상당한 시간을 허비하게 됩니다.

또한 이해에 필요한 형식을 갖추거나 오타를 수정하는 정도의 성의는 보여주세요.
니꼴라오님의 게시물은 매번 모바일로 작성하는 게 아닌가 싶을 정도로 오타가 많고
코드 역시 제대로 형식을 갖추지 않아서 읽기 힘든 경우가 많아요.

그리고 전에도 말씀드렸지만
지금 질문도 C# 기초 문법서를 한 번만 정독하시면 그냥 알게되는 내용입니다.
(못 믿으시겠다면 시작하세요! C# 9.0 프로그래밍 요 책의 8.7 확장 메서드 챕터를 확인해보세요.)

이 정도 기본기는 질문보다 먼저 그냥 먼저 기초 서적이나 튜토리얼을 통해 공부를 하시거나
검색을 해보시는 게 어떨까요.
(생각해보니 순서가 바뀌었군요. 기본기 공부를 했다면 질문할 필요가 없겠죠?)

6개의 좋아요