public void UnsubData(string module, string name, IDataSubscriber monitor) { InternalDataMonitor interdate = null; if (module == null) { throw new ArgumentNullException("DataServer can not get datamanager for module is null."); } if (module.ToUpper().Equals("CTC")) { IDataManager datamanager = (IDataManager)this.GetDataType(module); interdate = new InternalDataMonitor(module, monitor); datamanager.UnsubData(name, interdate); } else { IControlNode datamanagernode = (IControlNode)this.GetDataType(module); interdate = new InternalDataMonitor(module, monitor); datamanagernode.UnsubData(name, interdate); } }
时间: 2024-02-10 13:33:13 浏览: 49
还在用if(obj!=null)做非空判断,带你快速上手Optional
这段代码看起来是 C# 语言的,是用于取消订阅某个模块下的数据监视器的函数。函数接收三个参数:module 表示模块名称,name 表示数据名称,monitor 表示要取消订阅的数据监视器。
函数首先判断 module 是否为 null,如果是则抛出异常。然后判断 module 是否为 "CTC",如果是则获取 IDataManager 对象并使用其 UnsubData 方法取消订阅;否则获取 IControlNode 对象并使用其 UnsubData 方法取消订阅。最后将取消订阅的数据监视器封装成 InternalDataMonitor 对象并传入对应的 UnsubData 方法中。
阅读全文