本文整理汇总了C#中Sensor.NotifyAddListener方法的典型用法代码示例。如果您正苦于以下问题:C# Sensor.NotifyAddListener方法的具体用法?C# Sensor.NotifyAddListener怎么用?C# Sensor.NotifyAddListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sensor
的用法示例。
在下文中一共展示了Sensor.NotifyAddListener方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddListener
/**
* Adds listener for the specified sensor. Use period of milliseconds to
* update the reading. Default is 0 - means update as fast as possible
*/
public void AddListener(Sensor sensor, Action<Sensor> listener, int period)
{
lock(sync_listener)
{
if (sensor == null)
throw new NullReferenceException("No such sensor");
SensorListener sl = null;
try{
sl = activeSensors[sensor];
}catch(KeyNotFoundException){
sl = new SensorListener();
sl.sensor = sensor;
sl.period = period;
activeSensors.Add(sensor, sl);
}
if (sl.period > period)
sl.period = period;
sl.listeners.Add(listener);
sensor.NotifyAddListener(listener);
activeSensors_array = null;
}
}
示例2: AddListener
/// <summary>
/// Adds listener for the specified sensor
/// </summary>
/// <remarks>
/// Use period of milliseconds to
/// update the reading. Default is 0 - means update as fast as possible
/// </remarks>
public void AddListener(Sensor sensor, Action<Sensor> listener, int period)
{
if (Logger.DUMP) Logger.dump("SensorRegistry", "AddListener "+ sensor.ID + " " + listener.ToString() + " " + period);
lock(sync_listener)
{
if (sensor == null)
throw new NullReferenceException("Null sensor");
SensorListener sl = null;
try{
sl = activeSensors[sensor];
}catch(KeyNotFoundException){
sl = new SensorListener();
sl.sensor = sensor;
sl.period = period;
activeSensors.Add(sensor, sl);
}
if (sl.period > period){
sl.period = period;
sl.nextReading = 0;
}
if (!sl.listeners.Contains(listener))
{
sl.listeners.Add(listener);
#if DEBUG
sl.bt += Environment.StackTrace;
#endif
sensor.NotifyAddListener(listener);
}
activeSensors_array = null;
}
}