Calling toString on an object should always return a string. Returning null instead contravenes the method's implicit contract.

Noncompliant Code Example

public override string ToString () {
  if (this.collection.Count == 0) {
    return null; // Noncompliant
  } else {
    // ...

Compliant Solution

public override string ToString () {
  if (this.collection.Count == 0) {
    return "";
  } else {
    // ...