IsValid() is a method that return a bool, and should be called like this : Target.IsValid()
if (Target.IsValid), will always return True cause you are asking if the method exist. You need to call it like this to check whether the object is valid or not : if (Target.IsValid())
if (Target.IsValid), will always return True cause you are asking if the method exist.
Not really,if (Target.IsValid) does not reffer to the method IsValid() but IsValid is a property defined by the IValid interface and can be implemented differently by derived classes (for exemple in Component IsValid => this.GameObject != null && this.Scene != null;)
The documentation states that IsValid() returns false when the object is null; otherwise, it returns the value of the object's IsValid property.