This doesn’t work for some reason. In the inspector the value clearly says “none”. Doesn’t work for all sorts of things (Transforms, GameObjects, assets etc). I don’t understand what the variable is actually referencing if it says None in the inspector?
Component c = gameObject.GetComponent<T>();
FieldInfo info = c.GetType().GetField("fieldname");
if (info.GetValue(c) == null || info.GetValue(c) == "null")
{
Debug.Log("Value is null");
}