다음과 같은 문제가 있습니다 : File
이라는 클래스가 있는데 뭔가 특별한 일이 생겼을 때이 클래스가 다른 클래스에 알려주기를 원하지만 File
에는 알릴 클래스에 대한 참조가 없어야합니다. 나는 이것이 INotifyPropertyChanged
-Interface가 해결하는 동일한 문제라고 생각한다. 내 유일한 해결 방법은 정보를 받아야 클래스의 인스턴스와이 클래스의 정적 메서드를 포함하는 정적 목록이지만, 나는 이것이 가장 현명한 방법이 아니라고 생각합니다. 따라서 어떤 개념이 PropertyChanged
에 사용됩니까?PropertyChanged 인터페이스 (이벤트 시스템)는 어떻게 작동합니까?
편집 :
반응해야 클래스 (통보) 가정 수 있습니다 FileManager
라고는 FinishedReading
라는 암시 이벤트를 가지고 있으며,이 클래스는 한 번 인스턴스화 전용입니다. FinishedReading
- File
인스턴스에 대한 참조가 없으면 File
클래스의 FinishReading()
메서드에 이벤트를 바인딩 할 수 있습니까? 이미 이벤트로 매개 변수로 FileManager
이벤트를 전달하려고 시도했지만 작동하지 않았습니다.
예 :이 경우
[global::Microsoft.VisualStudio.TestTools.UnitTesting.TestClass]
public class FileManager
{
public delegate void MyDelegate();
public event MyDelegate FinishedReading;
}
[global::Microsoft.VisualStudio.TestTools.UnitTesting.TestClass]
public class File
{
// Whats the exact Data-Type of the FinishedReading-Event?
public File(FileManager.MyDelegate eventInstance)
{
eventInstance += FinishReading;
}
public void FinishReading()
{
//
}
}
[Events (C# 프로그래밍 가이드)] (http://msdn.microsoft.com/en-us/library/awbftdfh.aspx) 여기에서 읽기 시작하십시오. – Clemens
@Clleens hée féger fége 편집, 문제가 생겼습니까? 내 질문을 수정했습니다. 어떻게이 문제를 해결할 수 있습니까? – Feve123