﻿<?xml version="1.0" encoding="utf-8"?><Type Name="DisableDebuggingCodeRule" FullName="Gendarme.Rules.BadPractice.DisableDebuggingCodeRule"><TypeSignature Language="C#" Value="public class DisableDebuggingCodeRule : Gendarme.Framework.Rule, Gendarme.Framework.IMethodRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DisableDebuggingCodeRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IMethodRule, class Gendarme.Framework.IRule" /><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.IMethodRule</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>Gendarme.Framework.EngineDependency(typeof(Gendarme.Framework.Engines.OpCodeEngine))</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Problem("This method includes calls to Console.WriteLine inside an assembly not compiled for console application (e.g. /target:exe).")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("If this code is used for debugging then either use the Debug or Trace types or disable the code manually (e.g. using the preprocessor).")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule checks for non-console applications which contain calls to <c>Console.WriteLine</c>.
             These are often used as debugging aids but such code should be removed or disabled in 
             the released version. If you don't want to remove it altogether you can place it inside a method
             decorated with <c>[Conditional ("DEBUG")]</c>, use <c>Debug.WriteLine</c>, use
             <c>Trace.WriteLine</c>, or use the preprocessor. But note that TRACE is often enabled
             in release builds so if you do use that you'll probably want to use a config file to remove 
             the default trace listener.
             </summary><remarks>This rule is available since Gendarme 2.0</remarks><example>
             Bad example:
             <code>
             private byte[] GenerateKey ()
             {
            	byte[] key = new byte[16];
            	rng.GetBytes (key);
            	Console.WriteLine ("debug key = {0}", BitConverter.ToString (key));
            	return key;
             }
             </code></example><example>
             Good example (removed):
             <code>
             private byte[] GenerateKey ()
             {
            	byte[] key = new byte[16];
            	rng.GetBytes (key);
            	return key;
             }
             </code></example><example>
             Good example (changed):
             <code>
             private byte[] GenerateKey ()
             {
            	byte[] key = new byte[16];
            	rng.GetBytes (key);
            	Debug.WriteLine ("debug key = {0}", BitConverter.ToString (key));
            	return key;
             }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public DisableDebuggingCodeRule ();" /><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><Member MemberName="Initialize"><MemberSignature Language="C#" Value="public override void Initialize (Gendarme.Framework.IRunner runner);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Initialize(class Gendarme.Framework.IRunner runner) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>3.10.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="runner" Type="Gendarme.Framework.IRunner" /></Parameters><Docs><param name="runner">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member></Members></Type>