如果对象为null,那么如何编写应该检查对象值的扩展方法 它应该返回null否则为值{不在接收端进行转换}。
类似......
public static object GetDefault(this object obj)
{
if (obj == null) return null;
else return obj;
}
我的意思是没有施法可以检查是否为空?
int? a=a.GetDefault();
ContactType type=type.GetDefault(); [For EnumType]
string s=a.GetDefault()
答案 0 :(得分:1)
这应该有效:
public static class ExtensionMethods
{
public static T GetObject<T>(this T obj, T def)
{
if (default(T).Equals(obj))
return def;
else
return obj;
}
}
我添加了一个参数def
因为我希望你想在obj为null时返回这个默认值。否则,您始终可以省略T def
参数并返回null
。