﻿<?xml version="1.0" encoding="utf-8"?><Type Name="AvoidLargeClassesRule" FullName="Gendarme.Rules.Smells.AvoidLargeClassesRule"><TypeSignature Language="C#" Value="public class AvoidLargeClassesRule : Gendarme.Framework.Rule, Gendarme.Framework.ITypeRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AvoidLargeClassesRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IRule, class Gendarme.Framework.ITypeRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Smells</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("The class is trying to do too much.  Generally if a class is too large, duplicated code will not be far away.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("You can apply the Extract Class or Extract Subclass refactoring.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule allows developers to measure the classes size. When a 
             class is trying to doing a lot of work, then you probabily have 
             the Large Class smell.
            
             This rule will fire if a type contains too many fields (over 25 by default) or
             has fields with common prefixes. If the rule does fire then the type should
             be reviewed to see if new classes should be extracted from it.
             </summary><remarks>To be added.</remarks><example>
             Bad example:
             <code>
             public class MyClass {
            	int x, x1, x2, x3;
            	string s, s1, s2, s3;
            	DateTime bar, bar1, bar2;
            	string[] strings, strings1; 
             }
             </code></example><example>
             Good example:
             <code>
             public class MyClass {
             	int x;
             	string s;
             	DateTime bar; 
             }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public AvoidLargeClassesRule ();" /><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="MaxFields"><MemberSignature Language="C#" Value="public static int MaxFields { get; set; }" /><MemberSignature Language="ILAsm" Value=".property int32 MaxFields" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members></Type>