C#处置控制权
试图在运行时摆脱控件。我检查它是否存在 if(Controls.Contains(myControl)) 它返回true,因为其中的行已运行 控件。删除(myControl) 但出于某种原因,它返回了这个: System.NullReferenceException:对象引用未设置为对象的实例C#处置控制权,c#,controls,dispose,C#,Controls,Dispose,试图在运行时摆脱控件。我检查它是否存在 if(Controls.Contains(myControl)) 它返回true,因为其中的行已运行 控件。删除(myControl) 但出于某种原因,它返回了这个: System.NullReferenceException:对象引用未设置为对象的实例 如果控件包含该控件,它怎么可能是空引用?我猜控件是变为空的变量,因为controls.Remove没有声明它将抛出null 看 控件实际上是属性获取程序吗?返回的值取决于页面生命周期状态还是会话状态?发布
如果控件包含该控件,它怎么可能是空引用?我猜
控件
是变为空
的变量,因为controls.Remove没有声明它将抛出null
看
控件
实际上是属性获取程序吗?返回的值取决于页面生命周期状态还是会话状态?发布的代码不足以显示问题。什么是myControl?您如何使用它?顺便说一句,移除它不会处理控件。为此,请调用控件的Dispose方法,该方法也将从集合中删除它。Dispose抛出相同的NullReferenceException。这可能是一个多线程问题,即另一个线程做了一些事情,使您正在谈论的线程出现错误行为?请发布更多代码,这还不足以确定问题所在。