Description: An assembly PowerCollections does not have System.Runtime.InteropServices.ComVisibleAttribute attribute applied to it.
PowerCollections
16
Project
Do not place assembly-level attributes outside of AssemblyInfo file
Design
Warning
Description: Assembly-level attribute System.Runtime.CompilerServices.InternalsVisibleTo is placed outside of AssemblyInfo file.
Algorithms.cs [76]
Item
Ln #
Type
Violation
Category
Severity
ListRange`1
53
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.ListRange`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
ArrayRange`1
219
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.ArrayRange`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
ReadOnlyList`1
418
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.ReadOnlyList`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
TypedList`1
840
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.TypedList`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
UntypedList`1
1028
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.UntypedList`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
ArrayWrapper`1
1184
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.Algorithms.ArrayWrapper`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
Expression
149
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Expression
357
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Expression
436
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Expression
534
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Expression
764
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Expression
1054
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
wrappedList
55
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.ListRange`1 has System.SerializableAttribute attribute and has wrappedList instance field of a System.Collections.Generic.IList`1 type that is not serializable .
wrappedCollection
341
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.ReadOnlyCollection`1 has System.SerializableAttribute attribute and has wrappedCollection instance field of a System.Collections.Generic.ICollection`1 type that is not serializable .
wrappedList
420
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.ReadOnlyList`1 has System.SerializableAttribute attribute and has wrappedList instance field of a System.Collections.Generic.IList`1 type that is not serializable .
wrappedDictionary
518
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.ReadOnlyDictionary`2 has System.SerializableAttribute attribute and has wrappedDictionary instance field of a System.Collections.Generic.IDictionary`2 type that is not serializable .
wrappedEnumerator
643
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.TypedEnumerator`1 has System.SerializableAttribute attribute and has wrappedEnumerator instance field of a System.Collections.IEnumerator type that is not serializable .
wrappedEnumerable
689
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.TypedEnumerable`1 has System.SerializableAttribute attribute and has wrappedEnumerable instance field of a System.Collections.IEnumerable type that is not serializable .
wrappedCollection
747
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.TypedCollection`1 has System.SerializableAttribute attribute and has wrappedCollection instance field of a System.Collections.ICollection type that is not serializable .
wrappedList
842
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.TypedList`1 has System.SerializableAttribute attribute and has wrappedList instance field of a System.Collections.IList type that is not serializable .
wrappedCollection
943
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.UntypedCollection`1 has System.SerializableAttribute attribute and has wrappedCollection instance field of a System.Collections.Generic.ICollection`1 type that is not serializable .
wrappedList
1030
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.UntypedList`1 has System.SerializableAttribute attribute and has wrappedList instance field of a System.Collections.Generic.IList`1 type that is not serializable .
itemComparer
4398
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.LexicographicalComparerClass`1 has System.SerializableAttribute attribute and has itemComparer instance field of a System.Collections.Generic.IComparer`1 type that is not serializable .
comparer
4486
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.ReverseComparerClass`1 has System.SerializableAttribute attribute and has comparer instance field of a System.Collections.Generic.IComparer`1 type that is not serializable .
equalityComparer
4631
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.CollectionEqualityComparer`1 has System.SerializableAttribute attribute and has equalityComparer instance field of a System.Collections.Generic.IEqualityComparer`1 type that is not serializable .
equalityComparer
4713
Field
Mark all non-serializable fields with "NonSerialized" attribute
Usage
Error
Description: Type Wintellect.PowerCollections.Algorithms.SetEqualityComparer`1 has System.SerializableAttribute attribute and has equalityComparer instance field of a System.Collections.Generic.IEqualityComparer`1 type that is not serializable .
StableSortInPlace`1
3924
Method
Avoid excessive complexity
Maintainability
Warning
Description: Method StableSortInPlace has cyclomatic complexity of 32.
key
553
Parameter
Parameter names should match base declaration
Naming
Warning
Description: The name of parameter key does not match the name of the parameter item in the base declaration of the method Remove.
Statement
390
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method Remove should not contain multiple statements on a single line.
Statement
484
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method Remove should not contain multiple statements on a single line.
Statement
774
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method Remove should not contain multiple statements on a single line.
Statement
3324
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method GenerateSortedPermutations should not contain multiple statements on a single line.
Statement
3748
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3748
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3751
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3751
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3751
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3754
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3754
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3759
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3759
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3785
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method SortInPlace should not contain multiple statements on a single line.
Statement
3961
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3962
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3964
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3965
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3977
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3977
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3978
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3978
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3981
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3981
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3981
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3982
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3982
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3982
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3985
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3985
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3986
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3986
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3991
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3991
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3992
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3992
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3997
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3998
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
3999
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4008
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4013
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4019
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4020
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4024
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4025
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method StableSortInPlace should not contain multiple statements on a single line.
Statement
4367
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method LexicographicalCompare should not contain multiple statements on a single line.
Statement
5176
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method EqualCollections should not contain multiple statements on a single line.
Statement
5226
Statement
Do not include multiple statements on a single line
CodingStyle
Information
Description: Method EqualCollections should not contain multiple statements on a single line.
OrderedBag.cs [1]
Item
Ln #
Type
Violation
Category
Severity
View
1371
Class
Identifiers should differ by more than case
Naming
Warning
Description: The name of two types Wintellect.PowerCollections.OrderedBag`1.View and Wintellect.PowerCollections.OrderedDictionary`2.View are identical in a case-insensitive comparison.
ReadOnlyListBase.cs [12]
Item
Ln #
Type
Violation
Category
Severity
ReadOnlyListBase`1
23
Class
Collection class name must have "Collection" suffix
Naming
Warning
Description: Type Wintellect.PowerCollections.ReadOnlyListBase`1 implements System.Collections.ICollection or System.Collections.IEnumerable, does not implement System.Collections.IDictionary, does not extend System.Collections.Queue or System.Collections.Stack, and its name does not have a Collection suffix.
Expression
37
Expression
Specify IFormatProvider
Globalization
Error
Description: There is overload of the System.String.Format with System.IFormatProvider argument exists, but not called.
Insert
424
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly Insert method of a public interface and does not provide an alternative access to the base implementation of the method.
RemoveAt
436
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly RemoveAt method of a public interface and does not provide an alternative access to the base implementation of the method.
Add
447
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly Add method of a public interface and does not provide an alternative access to the base implementation of the method.
Clear
458
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly Clear method of a public interface and does not provide an alternative access to the base implementation of the method.
Insert
507
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly Insert method of a public interface and does not provide an alternative access to the base implementation of the method.
Remove
541
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly Remove method of a public interface and does not provide an alternative access to the base implementation of the method.
RemoveAt
553
Method
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly RemoveAt method of a public interface and does not provide an alternative access to the base implementation of the method.
value
471
Parameter
Parameter names should match base declaration
Naming
Warning
Description: The name of parameter value does not match the name of the parameter item in the base declaration of the method Contains.
IsFixedSize
516
Property
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly IsFixedSize property of a public interface and does not provide an alternative access to the base implementation of the property.
IsReadOnly
525
Property
Interface methods should be callable by child types
Design
Warning
Description: Public unsealed type Wintellect.PowerCollections.ReadOnlyListBase`1 implements explicitly IsReadOnly property of a public interface and does not provide an alternative access to the base implementation of the property.