All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.plugins.csharp.S4052.html Maven / Gradle / Ivy

There is a newer version: 10.2.0.105762
Show newest version

Why is this an issue?

With the advent of .NET framework version 2, certain practices have become obsolete.

In particular, exceptions should now extend System.Exception instead of System.ApplicationException. Similarly, generic collections should be used instead of the older, non-generic, ones. Finally when creating an XML view, you should not extend System.Xml.XmlDocument.

This rule raises an issue when an externally visible type extends one of these types:

  • System.ApplicationException
  • System.Xml.XmlDocument
  • System.Collections.CollectionBase
  • System.Collections.DictionaryBase
  • System.Collections.Queue
  • System.Collections.ReadOnlyCollectionBase
  • System.Collections.SortedList
  • System.Collections.Stack

Noncompliant code example

using System;
using System.Collections;

namespace MyLibrary
{
  public class MyCollection : CollectionBase  // Noncompliant
  {
  }
}

Compliant solution

using System;
using System.Collections;

namespace MyLibrary
{
  public class MyCollection : Collection<T>
  {
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy