I made an extension method that only works with structs:
public static bool IsNull(this T source) where T:struct
{
return source.Equals(default(T));
}
Calling convention:
if(myStruct.IsNull())
DoSomething();
I understand that it isn't really checking if it's null. However, if I gave it a more precise name, like IsEmpty or IsDefault, in six months I would forget it's there and upon seeing the list of methods available not pick it. It's not technically a null check; but conceptually it is.