﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ReviewDoubleAssignmentRule" FullName="Gendarme.Rules.Correctness.ReviewDoubleAssignmentRule"><TypeSignature Language="C#" Value="public class ReviewDoubleAssignmentRule : Gendarme.Framework.Rule, Gendarme.Framework.IMethodRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ReviewDoubleAssignmentRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IMethodRule, class Gendarme.Framework.IRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Correctness</AssemblyName><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>Gendarme.Framework.Rule</BaseTypeName></Base><Interfaces><Interface><InterfaceName>Gendarme.Framework.IMethodRule</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>Gendarme.Framework.EngineDependency(typeof(Gendarme.Framework.Engines.OpCodeEngine))</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Problem("This method assigns the same value twice to the same variable or field.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("Verify the code logic. This is likely a typo where the second assignment is unneeded or should have been used with another variable/field.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule checks for variables or fields that are assigned multiple times 
             using the same value. This won't change the value of the variable (or fields) 
             but should be reviewed since it could be a typo that hides a real issue in
             the code.
             </summary><remarks>This rule is available since Gendarme 2.0</remarks><example>
             Bad example:
             <code>
             public class Bad {
            	private int x, y;
            	
            	public Bad (int value)
            	{
            		// x is assigned twice, but y is not assigned
            		x = x = value;
            	}
             }
             </code></example><example>
             Good example:
             <code>
             public class Good {
            	private int x, y;
            	
            	public Good (int value)
            	{
            		// x = y = value; was the original meaning but since it's confusing...
            		x = value;
            		y = value;
            	}
            }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ReviewDoubleAssignmentRule ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="CheckMethod"><MemberSignature Language="C#" Value="public Gendarme.Framework.RuleResult CheckMethod (Mono.Cecil.MethodDefinition method);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Gendarme.Framework.RuleResult CheckMethod(class Mono.Cecil.MethodDefinition method) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gendarme.Framework.RuleResult</ReturnType></ReturnValue><Parameters><Parameter Name="method" Type="Mono.Cecil.MethodDefinition" /></Parameters><Docs><param name="method">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members></Type>