SolutionEvents 인터페이스
솔루션을 변경하면 이벤트를 제공합니다. 이 개체를 사용하여 기능을 수행합니다. 이 개체에 대한 설명을 보려면 SolutionEventsClass를 참조하십시오.
네임스페이스: EnvDTE
어셈블리: EnvDTE(EnvDTE.dll)
구문
‘선언
<GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")> _
Public Interface SolutionEvents _
Inherits _SolutionEvents, _dispSolutionEvents_Event
[GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")]
public interface SolutionEvents : _SolutionEvents,
_dispSolutionEvents_Event
[GuidAttribute(L"BF8BBF37-5415-46A9-940D-594CAD9DEC26")]
public interface class SolutionEvents : _SolutionEvents,
_dispSolutionEvents_Event
[<GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")>]
type SolutionEvents =
interface
interface _SolutionEvents
interface _dispSolutionEvents_Event
end
public interface SolutionEvents extends _SolutionEvents, _dispSolutionEvents_Event
SolutionEvents 형식에서는 다음과 같은 멤버를 노출합니다.
메서드
위쪽
이벤트
이름 | 설명 | |
---|---|---|
AfterClosing | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
BeforeClosing | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
Opened | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
ProjectAdded | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
ProjectRemoved | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
ProjectRenamed | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
QueryCloseSolution | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) | |
Renamed | 인프라입니다. Microsoft 내부용입니다. (_dispSolutionEvents_Event에서 상속됨) |
위쪽
설명
SolutionEvents 개체는 솔루션이 닫히기 전에 범위를 벗어나 가비지 수집될 수 있습니다. 이 개체에 대한 참조를 유지하려면 솔루션 이벤트 처리기를 구현하는 클래스에 전용 변수를 선언하십시오.
예제
public class Connect : IDTExtensibility2
{
private SolutionEvents _solnEvents;
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
_solnEvents = _applicationObject.Events.SolutionEvents;
_solutionBeforeClosingEventHandler = new _dispSolutionEvents_BeforeClosingEventHandler(this.SolutionBeforeClosing);
_solnEvents.BeforeClosing += _solutionBeforeClosingEventHandler;
}
private _dispSolutionEvents_BeforeClosingEventHandler _solutionBeforeClosingEventHandler
private void SolutionBeforeClosing()
{
System.Windows.Forms.MessageBox.Show("SolutionBeforeClosing");
}
}