C #에서 대리인을 기본 매개 변수로 사용하는 방법

알렉산더 라이언 바게트

개인 프로젝트를 위해 텍스트 기반 메뉴 시스템을 구축하고 있습니다. 해당 메뉴의 옵션에는 텍스트와 작업 (메소드 호출)이 있습니다. 그래서 델리게이트를 사용하는 것이 합리적이라고 생각했습니다.

그래서 델리게이트를 addOption ()에 대한 선택적 매개 변수로 사용하려고했는데 오류가 발생했습니다.

오류 'optionAction'의 기본 매개 변수 값은 컴파일 타임 상수 여야합니다.

그래서 나는 이것을 어떻게 피할 수 있는지 정확히 모르겠습니다. 내 말은 컴파일 시간 상수 여야한다는 뜻입니다. 내 메서드 defaultod ()가 컴파일 타임에 변경 될 가능성은 논리적으로 볼 수 없지만 Visual Studio에서는 가능하면 해결 방법이 필요합니다.

이것은 문제의 코드 샘플입니다. 그리고 요청하면 더 많이 보여 드리겠습니다.

private delegate void defaultOption();
private void defaultOptionCall() { }

public void addOption(string optiontext,
                      Delegate optionAction = new defaultOption(defaultOptionCall))
{

}
gfish3000

Action동일한 아이디어이지만 구문과 구현이 더 쉬우므로 사용하는 것이 좋습니다 .

public void addOption(string optiontext, Action optionAction = null)
{
    if (optionAction == null)
    {
        defaultOptionCall();
        // whatever else you need
        return;
    }

    // to run the action
    optionAction.Invoke();
}

이것은 당신이 선택한 문자열과 메서드를 전달하고 ref. 기술적 Action으로는 이미 암시 된 것처럼 위임의 한 형태입니다. 샘플 사용 사례 ...

addOption("default");
addOption("hello", () => { Console.WriteLine("Hello!") });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C #에서 문자열을 매개 변수로 사용하는 방법

분류에서Dev

매개 변수로 기본 클래스가 필요한 함수에 대한 인수로 unique_ptr을 사용하는 방법

분류에서Dev

함수 (C #)에서 매개 변수로 사용하기 위해 체인의 마지막 표현식을 다시 참조하는 방법이 있습니까?

분류에서Dev

매개 변수 기본값으로 문서화하는 방법

분류에서Dev

bash_aliases에서 매개 변수의 기본값을 설정하는 방법

분류에서Dev

핵심 PHP에서 기본 매개 변수로 Htaccess로 URL을 다시 작성하는 방법

분류에서Dev

C #에서 읽기 전용 개체를 복사하고 복사본을 수정하는 방법

분류에서Dev

전달 된 인수를 Python에서 기본 매개 변수 값으로 사용하는 방법은 무엇입니까?

분류에서Dev

Python에서 기본 매개 변수가 아닌 매개 변수 앞에 기본 매개 변수로 함수를 선언하는 방법은 무엇입니까?

분류에서Dev

인라인 매개 변수 값을 사용하여 PLPGSQL 내부에 쿼리를 기록하는 방법

분류에서Dev

데이터 바인딩에서 기본값을 사용하여 매개 변수에 인수를 전달하지 않는 방법

분류에서Dev

사용자 정의 이벤트 리스너에 매개 변수를 전달하고 reactjs에서 기본값을 방지하는 방법은 무엇입니까?

분류에서Dev

typescript에서 프로토 타입을 확장 할 때 기본 매개 변수 값을 사용하는 방법은 무엇입니까?

분류에서Dev

clang을 사용하여 매개 변수 'args'에서 누락 된 기본 인수를 수정하는 방법은 무엇입니까?

분류에서Dev

C # 기본 참조 대신 값으로 큐 매개 변수를 전달하는 방법

분류에서Dev

함수의 매개 변수를 C ++에서 포인터로 사용하여 DLL에서 값을 반환하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 POST 메서드를 사용하여 웹 사이트에서 HttpHandler로 매개 변수를 게시하는 방법

분류에서Dev

명명 된 변수를 사용하여 const rvalue 참조 매개 변수에 대한 기본값을 정의하는 방법은 무엇입니까?

분류에서Dev

함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

분류에서Dev

기본 클래스에서 반 변성 매개 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

gdb의 호출 명령에서 C ++ 기본 인수를 사용하는 방법

분류에서Dev

다른 매개 변수에 따라 중첩 된 템플릿 클래스 인스턴스를 기본 템플릿 매개 변수로 설정하는 방법

분류에서Dev

메서드를 함수에 대한 매개 변수로 사용하는 C ++

분류에서Dev

Javascript에서 다른 사용자에게 영향을주지 않고 기본 매개 변수를 설정하는 방법

분류에서Dev

void 포인터 배열을 매개 변수로 사용하여 C 함수에 OCaml 바인딩을 수행하는 방법

분류에서Dev

Jmeter에서 Beanshell 전처리기를 사용하여 빈 매개 변수를 제거하는 방법

분류에서Dev

@GatewayHeader에서 매개 변수의 속성을 참조하기 위해 SPEL을 사용하는 방법

분류에서Dev

Cucumber for Java에서 regex 대신 매개 변수 유형을 사용하는 방법

분류에서Dev

std :: chrono :: milliseconds를 기본 매개 변수로 사용하는 방법

Related 관련 기사

  1. 1

    C #에서 문자열을 매개 변수로 사용하는 방법

  2. 2

    매개 변수로 기본 클래스가 필요한 함수에 대한 인수로 unique_ptr을 사용하는 방법

  3. 3

    함수 (C #)에서 매개 변수로 사용하기 위해 체인의 마지막 표현식을 다시 참조하는 방법이 있습니까?

  4. 4

    매개 변수 기본값으로 문서화하는 방법

  5. 5

    bash_aliases에서 매개 변수의 기본값을 설정하는 방법

  6. 6

    핵심 PHP에서 기본 매개 변수로 Htaccess로 URL을 다시 작성하는 방법

  7. 7

    C #에서 읽기 전용 개체를 복사하고 복사본을 수정하는 방법

  8. 8

    전달 된 인수를 Python에서 기본 매개 변수 값으로 사용하는 방법은 무엇입니까?

  9. 9

    Python에서 기본 매개 변수가 아닌 매개 변수 앞에 기본 매개 변수로 함수를 선언하는 방법은 무엇입니까?

  10. 10

    인라인 매개 변수 값을 사용하여 PLPGSQL 내부에 쿼리를 기록하는 방법

  11. 11

    데이터 바인딩에서 기본값을 사용하여 매개 변수에 인수를 전달하지 않는 방법

  12. 12

    사용자 정의 이벤트 리스너에 매개 변수를 전달하고 reactjs에서 기본값을 방지하는 방법은 무엇입니까?

  13. 13

    typescript에서 프로토 타입을 확장 할 때 기본 매개 변수 값을 사용하는 방법은 무엇입니까?

  14. 14

    clang을 사용하여 매개 변수 'args'에서 누락 된 기본 인수를 수정하는 방법은 무엇입니까?

  15. 15

    C # 기본 참조 대신 값으로 큐 매개 변수를 전달하는 방법

  16. 16

    함수의 매개 변수를 C ++에서 포인터로 사용하여 DLL에서 값을 반환하는 방법은 무엇입니까?

  17. 17

    C #을 사용하여 POST 메서드를 사용하여 웹 사이트에서 HttpHandler로 매개 변수를 게시하는 방법

  18. 18

    명명 된 변수를 사용하여 const rvalue 참조 매개 변수에 대한 기본값을 정의하는 방법은 무엇입니까?

  19. 19

    함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

  20. 20

    기본 클래스에서 반 변성 매개 변수를 사용하는 방법은 무엇입니까?

  21. 21

    gdb의 호출 명령에서 C ++ 기본 인수를 사용하는 방법

  22. 22

    다른 매개 변수에 따라 중첩 된 템플릿 클래스 인스턴스를 기본 템플릿 매개 변수로 설정하는 방법

  23. 23

    메서드를 함수에 대한 매개 변수로 사용하는 C ++

  24. 24

    Javascript에서 다른 사용자에게 영향을주지 않고 기본 매개 변수를 설정하는 방법

  25. 25

    void 포인터 배열을 매개 변수로 사용하여 C 함수에 OCaml 바인딩을 수행하는 방법

  26. 26

    Jmeter에서 Beanshell 전처리기를 사용하여 빈 매개 변수를 제거하는 방법

  27. 27

    @GatewayHeader에서 매개 변수의 속성을 참조하기 위해 SPEL을 사용하는 방법

  28. 28

    Cucumber for Java에서 regex 대신 매개 변수 유형을 사용하는 방법

  29. 29

    std :: chrono :: milliseconds를 기본 매개 변수로 사용하는 방법

뜨겁다태그

보관