protected override bool DeepEquals(VToken token) { if (!(token is VValue otherVal)) { return(false); } return(this == otherVal || (Type == otherVal.Type && Value != null && Value.Equals(otherVal.Value))); }
public VProperty(string key, VToken value) { if (key == null) { throw new ArgumentNullException(nameof(key)); } Key = key; Value = value; }
protected override bool DeepEquals(VToken node) { return(node is VProperty otherProp && Key == otherProp.Key && VToken.DeepEquals(Value, otherProp.Value)); }