﻿<?xml version="1.0" encoding="utf-8"?><Type Name="AvoidRedundancyInTypeNameRule" FullName="Gendarme.Rules.Naming.AvoidRedundancyInTypeNameRule"><TypeSignature Language="C#" Value="public class AvoidRedundancyInTypeNameRule : Gendarme.Framework.Rule, Gendarme.Framework.ITypeRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AvoidRedundancyInTypeNameRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IRule, class Gendarme.Framework.ITypeRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Naming</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.EngineDependency(typeof(Gendarme.Framework.Engines.NamespaceEngine))</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.FxCopCompatibility("Microsoft.Naming", "CA1724:TypeNamesShouldNotMatchNamespaces")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Problem("This type name is prefixed with the last component of its enclosing namespace. This usually makes an API more verbose and less autocompletion-friendly than necessary.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("Remove the prefix from the type or replace it with a more meaningful term in the context of the namespace.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule will fire if a type is prefixed with the last component of its namespace.
             Using prefixes like this makes type names more verbose than they need to be
             and makes them harder to use with tools like auto-complete. Note that an
             exception is made if removal of the prefix would cause an ambiguity with another
             type. If this is the case the rule will not report a defect.
             </summary><remarks>To be added.</remarks><example>
             Bad example:
             <code>
             namespace Foo.Lang.Compiler {
             	public class CompilerContext {
             	}
             }
             </code><code>
             using Foo.Lang;
             ...
             Compiler.CompilerContext context = new Compiler.CompilerContext ();
             </code><code>
             using Foo.Lang.Compiler;
             ...
             CompilerContext context = new CompilerContext ();
             </code></example><example>
             Good example:
             <code>
             namespace Foo.Lang.Compiler {
             	public class Context {
             	}
             }
             </code><code>
             using Foo.Lang;
             ...
             Compiler.Context context = new Compiler.Context ();
             </code><code>
             using Foo.Lang.Compiler;
             ...
             Context context = new Context ();
             </code></example><example>
             Another good example (more meaningful term in the context of the namespace):
             <code>
             namespace Foo.Lang.Compiler {
             	public class CompilationContext {
             	}
             }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public AvoidRedundancyInTypeNameRule ();" /><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></Members></Type>