我正在阅读 Essential C# 3.0 一书,想知道这是否是检查委托(delegate)是否为 null 的好方法?:
class Thermostat
{
public delegate void TemperatureChangeHandler ( float newTemperature );
public TemperatureChangeHandler OnTemperatureChange { get; set; }
float currentTemperature;
public float CurrentTemperature
{
get { return this.currentTemperature; }
set
{
if ( currentTemperature != value )
{
currentTemperature = value;
TemperatureChangeHandler handler = OnTemperatureChange;
if ( handler != null )
{
handler ( value );
}
}
}
}
}
如果类型不可变,解决方案会改变吗?我想也许有了不变性,您就不会遇到这个线程问题。
最佳答案
对条件访问使用问号:
OnTemperatureChange?.Invoke();
关于c# - 检查委托(delegate)是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/972932/