﻿<?xml version="1.0" encoding="utf-8"?><Type Name="AvoidVisibleConstantFieldRule" FullName="Gendarme.Rules.BadPractice.AvoidVisibleConstantFieldRule"><TypeSignature Language="C#" Value="public class AvoidVisibleConstantFieldRule : Gendarme.Framework.Rule, Gendarme.Framework.ITypeRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AvoidVisibleConstantFieldRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IRule, class Gendarme.Framework.ITypeRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.BadPractice</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 contains visible constant fields so the value instead of the field will be embedded into assemblies which use it.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("Use a 'static readonly' field (C# syntax) so that the field's value can be changed without forcing client assemblies to be recompiled.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule looks for constant fields which are visible outside the current assembly.
             Such fields, if used outside the assemblies, will have their value (not the field
             reference) copied into the other assembly. Changing the field's value requires that all
             assemblies which use the field to be recompiled. Declaring the field
             as <c>static readonly</c>, on the other hand, allows the value to be changed
             without requiring that client assemblies be recompiled.
             </summary><remarks>This rule is available since Gendarme 2.0</remarks><example>
             Bad example:
             <code>
             // if this fields is used inside another assembly then
             // the integer 42, not the field, will be baked into it
             public const int MagicNumber = 42;
             </code></example><example>
             Good example:
             <code>
             // if this field is used inside another assembly then
             // that assembly will reference the field instead of
             // embedding the value
             static public readonly int MagicNumber = 42;
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public AvoidVisibleConstantFieldRule ();" /><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>