﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ConsiderAddingInterfaceRule" FullName="Gendarme.Rules.Design.ConsiderAddingInterfaceRule"><TypeSignature Language="C#" Value="public class ConsiderAddingInterfaceRule : Gendarme.Framework.Rule, Gendarme.Framework.ITypeRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ConsiderAddingInterfaceRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IRule, class Gendarme.Framework.ITypeRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Design</AssemblyName><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>Gendarme.Framework.Rule</BaseTypeName></Base><Interfaces><Interface><InterfaceName>Gendarme.Framework.ITypeRule</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>Gendarme.Framework.Problem("This type implements an interface's members, but does not implement the interface.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("If the semantics of the type's  members are compatible with the interface then inherit from the interface. Otherwise ignore the defect.")</AttributeName></Attribute></Attributes><Docs><summary>
            This rule fires if a type implements members which are declared in an
            interface, but the type does not implement the interface. Implementing
            the interface will normally make the type more reuseable and will help
            clarify the type's semantics.
            </summary><remarks>Types and methods with generic constraints are presently ignored by the rule.</remarks><example>
            Bad example:
            <code>
            public interface IDoable {
            	public void Do ();
            }
            public class MyClass {
            	public void Do ()
            	{
            	}
            }
            </code></example><example>
            Good example:
            <code>
            public interface IDoable {
            	public void Do ();
            }
            public class MyClass : IDoable {
            	public void Do ()
            	{
            	}
            }
            </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ConsiderAddingInterfaceRule ();" /><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="CheckType"><MemberSignature Language="C#" Value="public Gendarme.Framework.RuleResult CheckType (Mono.Cecil.TypeDefinition type);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Gendarme.Framework.RuleResult CheckType(class Mono.Cecil.TypeDefinition type) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gendarme.Framework.RuleResult</ReturnType></ReturnValue><Parameters><Parameter Name="type" Type="Mono.Cecil.TypeDefinition" /></Parameters><Docs><param name="type">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="ReferencesOnly"><MemberSignature Language="C#" Value="public bool ReferencesOnly { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance bool ReferencesOnly" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members></Type>