니꼴라오
5월 13, 2022, 4:50오전
1
C# 에서 AsyncRun 이 내장 되어 있는 것인가요? 구글링 했을 때
Docs 가 나오지 않는 걸 보면 내장 객체 , 함수 가 아닌듯 한데요
유지보수 소스 보면
class AppServerBase : 상속, 구현 클래스 , 인터페이스 등..
{
.....
this.AsyncRun(() => ~~~);
}
이러한데 이안에 혹은 상속 클래스안에 해당 AsyncRun() 이 정의되어 있지 않은데요
다른 클래스등에서 AppServerBase.AsyncRun , 위처럼 자기사진에서 AsyncRun() 을 하고 있습니다.
해당 AsyncRun() 을 클릭하면 아래 클래스가 나옵니다. 그렇지만 저 AsyncRun() 어떻게 불러온것인지
모르겠습니다. ㅠㅠ
static class async
{
-- AsyncRun(~)
{
....
}
}
2개의 좋아요
니꼴라오
5월 13, 2022, 5:06오전
2
참고로
Async 클래스 에 주석으로 아래처럼 써있습니다. 외부 클래스라는 게 무슨 말이죠??
using 문에는 외부 네임스페이스가 없습니다.
/// <summary>
/// Async extension class
/// </summary>
2개의 좋아요
사용하는 쪽에서 자체적으로 정의한 확장함수 같습니다.
IDE에서 해당함수 정의로 이동하는 기능이 있으니 그걸로 확인해보시면 됩니다.
1개의 좋아요
니꼴라오
5월 13, 2022, 6:14오전
5
그렇다면 이런 확장함수를 어떻게 만든거죠?
마우스 되면 해당 class (Async) 로 이동합니다.
이렇게 하기위해서 어떻게 해줘야 할까요?
1개의 좋아요
이동도 되고 알맹이도 있는데.
사용이 안된다? 그럼 사용법에 문제가 있거나 잘못 만들었나보죠.
만든사람 찾아서 질문을 하시던가? 아니면 소스를 올리셔야죠.
1개의 좋아요
특별히 뭘 하는게 아니라 확장 메서드 만드는 법으로 정적 클래스로 정적 메서드를 만들면 됩니다.
아래의 링크를 참조하세요.
1개의 좋아요
니꼴라오
5월 13, 2022, 8:54오전
8
정적클래스 + 정적메소드를 만들었지만
예를 들어 아래처럼 했는데 모두 오류가 되더군요
일반 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
{
// 소스로 표현
```
소스코드
```
}
이렇게하면 소스코드를 간편하게 볼 수 있어요
( Or 소스코드를 드래그 후 Ctrl + E)
2개의 좋아요
@니꼴라오 코드블록을 사용해주세요.
제발요!!
1개의 좋아요
@니꼴라오 님, 질문을 올리실 때는 가급적 읽는 사람을 배려해주시면 좋겠어요.
니꼴라오님이 질문하는 전체 내용은, 니꼴라오님의 머릿속에만 있어요.
이렇게 매번 앞 뒤 문맥 없이, 정확한 주술관계 없이 누군가에게 말하듯이 문장을 나열하면
이걸 읽는 사람은 제대로 이해하는 게 불가능해요. 당연히 되묻게 되고 질문을 이해하는 데에만 상당한 시간을 허비하게 됩니다.
또한 이해에 필요한 형식을 갖추거나 오타를 수정하는 정도의 성의는 보여주세요.
니꼴라오님의 게시물은 매번 모바일로 작성하는 게 아닌가 싶을 정도로 오타가 많고
코드 역시 제대로 형식을 갖추지 않아서 읽기 힘든 경우가 많아요.
그리고 전에도 말씀드렸지만
지금 질문도 C# 기초 문법서를 한 번만 정독하시면 그냥 알게되는 내용입니다.
(못 믿으시겠다면 시작하세요! C# 9.0 프로그래밍 요 책의 8.7 확장 메서드 챕터를 확인해보세요.)
이 정도 기본기는 질문보다 먼저 그냥 먼저 기초 서적이나 튜토리얼을 통해 공부를 하시거나
검색을 해보시는 게 어떨까요.
(생각해보니 순서가 바뀌었군요. 기본기 공부를 했다면 질문할 필요가 없겠죠?)
6개의 좋아요