2011-02-04 2 views
1

대리자 인스턴스를 읽는 중 항상 클래스로 입력 또는 내부 클래스로 정의됩니다. 왜 대리자 인스턴스를 독립적으로 정의 할 수 없는지 이해하지 못했습니다.대리자 인스턴스를 클래스 외부에서 정의 할 수 있습니까?

감사

+1

C#과 같은 순수 OOP로되어 있기 때문에 모든 것이 클래스에 들어 있습니다. –

+0

내가 기억하는 바로는 전역 범위를 명시 적으로 넣을 수 있습니다. –

답변

0

대리자 유형, 당신은 (전역 네임 스페이스 포함) 네임 스페이스 범위에서 정의 할 수 있습니다.

대리자는 참조 형식이므로 대리자 인스턴스는 항상 관리되는 (가비지 수집 된) 힙에 배치됩니다. 대리자 인스턴스는 gcnew 연산자 인 the Delegate::CreateDelegate method을 사용하거나 스택 의미 구문 (C++/CLI 만 해당)을 사용하여 만들 수 있습니다.

참조 형식의 참조 변수 (영구적으로 바인딩 된 참조, 힙의 인스턴스 및 IDisposable::Dispose에 대한 자동 호출을 포함하는 스택 의미론 구문 변수 포함)는 관리되는 형식의 인스턴스 또는 정적 멤버로 존재할 수 있지만, 자동 지역 변수, 정적 지역 변수 또는 (C++/CLI에서) 전역 (이름 공간 범위) 변수로 사용됩니다.

관련 문제