anchor.diff:  CA1003,UseGenericEventHandlerInstances,Microsoft.Api.Design.Guidelines,System.Runtime.Analyzers,Use generic event handler instances,"A type contains a delegate that returns void, whose signature contains two parameters (the first an object and the second a type that is assignable to EventArgs), and the containing assembly targets Microsoft .NET Framework?2.0.",Yes,198562,724,0.003646216,1452.984604,Design,High,Ported,,
   CA1815,OverrideEqualsAndOperatorEqualsOnValueTypes,Microsoft.Api.Design.Guidelines,#N/A,Override equals and operator equals on value types,"For value types, the inherited implementation of Equals uses the Reflection library and compares the contents of all fields. Reflection is computationally expensive, and comparing every field for equality might be unnecessary. If you expect users to compare or sort instances, or to use instances as hash table keys, your value type should implement Equals.",Yes,399294,1633,0.004089718,1369.603552,Performance,High,,,None
   CA1032,ImplementStandardExceptionConstructors,Microsoft.Api.Design.Guidelines,#N/A,Implement standard exception constructors,Failure to provide the full set of constructors can make it difficult to correctly handle exceptions.,Yes,469099,2028,0.004323181,1311.826681,Design,High,,,None
  -CA2217,DoNotMarkEnumsWithFlags,Microsoft.Api.Design.Guidelines,System.Runtime.Analyzers,Do not mark enums with FlagsAttribute,"An externally visible enumeration is marked by using FlagsAttribute, and it has one or more values that are not powers of two or a combination of the other defined values on the enumeration.",Yes,33479,117,0.003494728,1294.742374,Usage,Low,Ported,,
  +CA2242,TestForNaNCorrectly,System.Runtime,#N/A,Test for NaN correctly,This expression tests a value against Single.Nan or Double.Nan. Use Single.IsNan(Single) or Double.IsNan(Double) to test the value.,Yes,15800,4,0.000253165,16584.69549,Usage,High,Yes,,IOperation
   CA1007,UseGenericsWhereAppropriate,Microsoft.Api.Design.Guidelines,#N/A,Use generics where appropriate,"An externally visible method contains a reference parameter of type System.Object. Use of a generic method enables all types, subject to constraints, to be passed to the method without first casting the type to the reference parameter type.",Yes,78406,297,0.003787975,1292.075256,Design,Low,,,
   CA2234,PassSystemUriObjectsInsteadOfStrings,Microsoft.Api.Design.Guidelines,#N/A,Pass system uri objects instead of strings,"A call is made to a method that has a string parameter whose name contains ""uri"", ""URI"", ""urn"", ""URN"", ""url"", or ""URL"". The declaring type of the method contains a corresponding method overload that has a System.Uri parameter.",Yes,197362,824,0.004175069,1268.305585,Usage,High,,,WordParser
   CA1716,IdentifiersShouldNotMatchKeywords,Microsoft.Api.Design.Guidelines,#N/A,Identifiers should not match keywords,A namespace name or a type name matches a reserved keyword in a programming language. Identifiers for namespaces and types should not match keywords that are defined by languages that target the common language runtime.,Yes,563948,2635,0.004672417,1230.891752,Naming,High,,,Valid rule?
  
positive.code: CA1008,EnumsShouldHaveZeroValue,Microsoft.Api.Design.Guidelines,Microsoft.AnalyzerPowerPack,Enums should have zero value,"The default value of an uninitialized enumeration, just as other value types, is zero. A nonflags-attributed enumeration should define a member by using the value of zero so that the default value is a valid value of the enumeration. If an enumeration that has the FlagsAttribute attribute applied defines a zero-valued member, its name should be """"None"""" to indicate that no values have been set in the enumeration.",Yes,569246,1776,0.003119917,1844.696789,Design,High,Ported,,
  CA1724,TypeNamesShouldNotMatchNamespaces,Microsoft.Api.Design.Guidelines,#N/A,Type names should not match namespaces,Type names should not match the names of namespaces that are defined in the .NET Framework class library. Violating this rule can reduce the usability of the library.,Yes,633745,1999,0.003154266,1839.38686,Naming,High,,,Hardcoded table
  CA1063,ImplementIDisposableCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Implement IDisposable Correctly,All IDisposable types should implement the Dispose pattern correctly.,Yes,638117,2035,0.00318907,1820.248439,Design,High,,,None
  CA2222,DoNotDecreaseInheritedMemberVisibility,Microsoft.Api.Design.Guidelines,#N/A,Do not decrease inherited member visibility,You should not change the access modifier for inherited members. Changing an inherited member to private does not prevent callers from accessing the base class implementation of the method.,Yes,64588,185,0.002864309,1679.34101,Usage,Low,,,
  CA1009,DeclareEventHandlersCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Declare event handlers correctly,"Event handler methods take two parameters. The first is of type System.Object and is named """"sender"""". This is the object that raised the event. The second parameter is of type System.EventArgs and is named """"e"""". This is the data that is associated with the event. Event handler methods should not return a value; in the C# programming language, this is indicated by the return type void.",Yes,358275,1202,0.003354965,1655.521563,Design,High,,,None
  CA1044,PropertiesShouldNotBeWriteOnly,Microsoft.Api.Design.Guidelines,#N/A,Properties should not be write only,"Although it is acceptable and often necessary to have a read-only property, the design guidelines prohibit the use of write-only properties. This is because letting a user set a value, and then preventing the user from viewing that value, does not provide any security. Also, without read access, the state of shared objects cannot be viewed, which limits their usefulness.",Yes,282895,935,0.003305113,1649.451905,Design,High,,,None
  CA1046,DoNotOverloadOperatorEqualsOnReferenceTypes,Microsoft.Api.Design.Guidelines,#N/A,Do not overload operator equals on reference types,"For reference types, the default implementation of the equality operator is almost always correct. By default, two references are equal only if they point to the same object.",Yes,4107,9,0.002191381,1648.971773,Design,Low,,,
  
negative.code: CA1900,ValueTypeFieldsShouldBePortable,System.Runtime,#N/A,Value type fields should be portable,This rule checks that structures that are declared by using explicit layout will align correctly when marshaled to unmanaged code on 64-bit operating systems.,Yes,21717,139,0.006400516,677.5703737,Portability,Low,,,
  CA2142,#N/A,System.Runtime,#N/A,Transparent code should not be protected with LinkDemands,"This rule is raised on transparent methods that require LinkDemands to access them. Security transparent code should not be responsible for verifying the security of an operation, and therefore should not demand permissions.",No,3330,18,0.005405405,651.6521832,Security,Low,,,
  CA2117,AptcaTypesShouldOnlyExtendAptcaBaseTypes,System.Runtime,#N/A,Aptca types should only extend aptca base types,"When the APTCA is present on a fully trusted assembly, and a type in the assembly inherits from a type that does not allow for partially trusted callers, a security exploit is possible.",Yes,6740,43,0.006379822,600.1201791,Security,Low,,,
  CA2239,ProvideDeserializationMethodsForOptionalFields,Desktop,#N/A,Provide deserialization methods for optional fields,"A type has a field that is marked by using the System.Runtime.Serialization.OptionalFieldAttribute attribute, and the type does not provide deserialization event handling methods.",Yes,13047,393,0.030121867,136.6286708,Usage,Low,Yes,,
  CA1814,PreferJaggedArraysOverMultidimensional,System.Runtime,#N/A,Prefer jagged arrays over multidimensional,"A jagged array is an array whose elements are arrays. The arrays that make up the elements can be of different sizes, leading to less wasted space for some sets of data.",Yes,163220,1424,0.008724421,597.492184,Performance,High,,,None
  CA1822,MarkMembersAsStatic,System.Runtime,#N/A,Mark members as static,"Members that do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After you mark the methods as static, the compiler will emit nonvirtual call sites to these members. This can give you a measurable performance gain for performance-sensitive code.",Yes,3382541,37372,0.011048499,590.9620138,Performance,Low,,,IOperation
  CA2238,ImplementSerializationMethodsCorrectly,Desktop,#N/A,Implement serialization methods correctly,"A method that handles a serialization event does not have the correct signature, return type, or visibility.",Yes,38890,1402,0.036050399,127.3172594,Usage,Low,Yes,,
  CA1303,#N/A,System.Runtime,#N/A,Do not pass literals as localized parameters,"An externally visible method passes a string literal as a parameter to a constructor or method in the .NET Framework class library, and that string should be localizable.",Yes,1370581,20484,0.014945487,410.6192633,Globalization,Low,,,Dataflow
  CA2141,#N/A,System.Runtime,#N/A,Transparent methods must not satisfy LinkDemands,"A security transparent method calls a method in an assembly that is not marked by using the APTCA, or a security transparent method satisfies a LinkDemand for a type or a method.",No,16361,245,0.014974635,281.3965015,Security,Low,,,
  CA2149,#N/A,System.Runtime,#N/A,Transparent methods must not call into native code,"This rule is raised on any transparent method that calls directly into native code (for example, through a P/Invoke). Violations of this rule lead to a MethodAccessException in the level 2 transparency model and a full demand for UnmanagedCode in the level 1 transparency model.",No,4351,61,0.014019766,259.5328049,Security,Low,,,
  CA2136,#N/A,System.Runtime,#N/A,Members should not have conflicting transparency annotations,"Critical code cannot occur in a 100 percent?transparent assembly. This rule analyzes 100 percent?transparent assemblies for any SecurityCritical annotations at the type, field, and method levels.",No,6481,114,0.017589878,216.6951925,Security,Low,,,
  CA2230,UseParamsForVariableArguments,Microsoft.Api.Design.Guidelines,#N/A,Use params for variable arguments,A public or protected type contains a public or protected method that uses the VarArgs calling convention instead of the params keyword.,Yes,126,8,0.063492063,33.08083609,Usage,High,,,
  CA2223,MembersShouldDifferByMoreThanReturnType,Microsoft.Api.Design.Guidelines,#N/A,Members should differ by more than return type,"Although the common language runtime allows the use of return types to differentiate between otherwise identical members, this feature is not in the Common Language Specification, nor is it a common feature of .NET programming languages.",Yes,12,1,0.083333333,12.95017495,Usage,High,,,
  Async001,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Avoid Async Void,#N/A,,,,,,Usage,,,,
  CA2116,AptcaMethodsShouldOnlyCallAptcaMethods,System.Runtime,#N/A,Aptca methods should only call aptca methods,"When the APTCA (AllowPartiallyTrustedCallersAttribute) is present on a fully trusted assembly, and the assembly executes code in another assembly that does not allow for partially trusted callers, a security exploit is possible.",Yes,20253,864,0.042660347,100.9482975,Security,Low,,,
  CA1821,RemoveEmptyFinalizers,System.Runtime,Microsoft.AnalyzerPowerPack,Remove empty finalizers,"Whenever you can, avoid finalizers because of the additional performance overhead that is involved in tracking object lifetime. An empty finalizer incurs added overhead and delivers no benefit.",Yes,39675,3102,0.078185255,58.81565423,Performance,Low,,,
  CA2110,#N/A,System.Runtime,#N/A,Secure GetObjectData overrides,"The System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) method is declared in the ISerializable interface. This interface is implemented by types that provide custom serialization logic. GetObjectData is protected by a security check for System.Security.Permissions.SecurityPermissionAttribute.SerializationFormatter security permission. If an implementation of GetObjectData is not protected by the same security check, callers can call the implementation to bypass security on the interface and gain access to data serialized by the type.",,36,1,0.027777778,56.02689003,Security,Low,???,,
  