63 lines
936 B
Plaintext
63 lines
936 B
Plaintext
The NET Framework 2.0 introduced the generic interface ``++System.Collections.Generic.IEnumerable<T>++`` and it should be preferred over the older, non generic, interfaces.
|
|
|
|
|
|
This rule raises an issue when a public type implements ``++System.Collections.IEnumerable++``.
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
using System;
|
|
using System.Collections;
|
|
|
|
public class MyData
|
|
{
|
|
public MyData()
|
|
{
|
|
}
|
|
}
|
|
|
|
public class MyList : CollectionBase // Noncompliant
|
|
{
|
|
public void Add(MyData data)
|
|
{
|
|
InnerList.Add(data);
|
|
}
|
|
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
using System;
|
|
using System.Collections.ObjectModel;
|
|
|
|
public class MyData
|
|
{
|
|
public MyData()
|
|
{
|
|
}
|
|
}
|
|
|
|
public class MyList : Collection<MyData>
|
|
{
|
|
// Implementation...
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
include::highlighting.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|