我有以下问题: 我有一个叫做File
的班级,我希望这个班级在发生特殊事件时通知其他班级,但File
不应该提及应该通知的班级。我认为这与INotifyPropertyChanged
-Interface解决的问题是一样的。我唯一的解决方法是一个静态列表,其中包含应该通知的类的实例以及此类的静态方法,但我认为这不是最明智的方法。 那么,PropertyChanged
使用哪个概念?PropertyChanged接口(事件系统)如何工作?
编辑:
让我们假设这应反应的类(通知)被调用FileManager
,具有所谓的隐式FinishedReading
事件和这个类仅实例化一次。 如何将FileManager
的FinishedReading
-事件绑定到类File
的方法FinishReading()
,如果File
不应该提及FileManager
的实例? 我已经尝试通过FileManager
s事件作为参数,但它没有工作。
例:
[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()
{
//
}
}
从这里开始阅读:[事件(C#编程指南)](http://msdn.microsoft.com/zh-cn/library/awbftdfh.aspx)。 – Clemens 2014-10-29 08:49:34
@Clemens habe meine Frage editiert,wielöseich mein问题? 编辑我的问题,我该如何解决这个问题? – Feve123 2014-10-29 11:12:38