有时候代码里if太多了不好看,换种封装方法,看起来更高级
/// <summary>
/// 判空的一种写法,减少写if
/// </summary>
/// <typeparam name="T"></typeparam>
public class NullNextHelper<T>
{
public delegate void NextFunctionHander(T value);
/// <summary>
/// 如果为空,则不处理,如果不为空,则继续在传入的函数中执行
/// </summary>
/// <param name="value"></param>
/// <param name="nextFunction"></param>
public static void ObjectIfNull(T? value, NextFunctionHander nextFunction)
{
if (value == null)
return;
else
{
nextFunction.Invoke(value);
}
}
}
引用写法:
NullNextHelper<ListBoxItemVM>.ObjectIfNull(dataItem, delegate (ListBoxItemVM dataItem)
{
//next todo something
}