public bool Equals(TypeInfo other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } if (isFake) { return(classType == other.classType && typeDef.Equals(other.typeDef) && size == other.size && dims.SequenceEqual(other.dims) && other.isFake); } return(classType == other.classType && typeDef.Equals(other.typeDef) && size == other.size && dims.SequenceEqual(other.dims) && string.Equals(tag, other.tag)); }