Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#从IList中移除时从类型调用构造函数_C# - Fatal编程技术网

C#从IList中移除时从类型调用构造函数

C#从IList中移除时从类型调用构造函数,c#,C#,我有一份观察员名单 //create the list Class ObersverList : IList<Observer> 这导致了observer列表非常好,并且工作得非常好,但是我必须解决一些问题。 a) 观察家没有被杀,只是不在名单上(对我来说没问题) b) 表单保持打开状态。(这是一个大问题) 我想要一些类似于使用构造函数的东西 //observer.cs activate() { HUD = new ObserverHud(); }

我有一份观察员名单

//create the list
Class ObersverList : IList<Observer>
这导致了observer列表非常好,并且工作得非常好,但是我必须解决一些问题。 a) 观察家没有被杀,只是不在名单上(对我来说没问题) b) 表单保持打开状态。(这是一个大问题)

我想要一些类似于使用构造函数的东西

//observer.cs
   activate() {
      HUD = new ObserverHud();
    }
    ~Observer(){
        HUD.Close();
        HUD.Dispose(); 
    }
但是我不知道如何调用observerdestructor并在删除时杀死元素。 是否有一种优雅的c#方法,或者我需要跳转列表,找到删除元素的方法并处理它


干杯

好的,我现在用IDisposable完成了。解决

//observer.cs
   activate() {
      HUD = new ObserverHud();
    }
    ~Observer(){
        HUD.Close();
        HUD.Dispose(); 
    }