﻿<?xml version="1.0" encoding="utf-8"?><Type Name="AttributeArgumentsShouldHaveAccessorsRule" FullName="Gendarme.Rules.Design.AttributeArgumentsShouldHaveAccessorsRule"><TypeSignature Language="C#" Value="public class AttributeArgumentsShouldHaveAccessorsRule : Gendarme.Framework.Rule, Gendarme.Framework.ITypeRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AttributeArgumentsShouldHaveAccessorsRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IRule, class Gendarme.Framework.ITypeRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Design</AssemblyName><AssemblyVersion>4.2.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.FxCopCompatibility("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Problem("All parameter values passed to this type's constructors should be visible through read-only properties.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("Add the missing property getters to the type.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule fires if a parameter to an <c>Attribute</c> constructor is not exposed
             using a properly cased property. This is a problem because it is generally not useful
             to set state within an attribute without providing a way to get at that state.
             </summary><remarks>To be added.</remarks><example>
             Bad example:
             <code>
             [AttributeUsage (AttributeTargets.All)]
             public sealed class AttributeWithRequiredProperties : Attribute {
            	private int storedFoo;
            	private string storedBar;
            	
            	// we have no corresponding property with the name 'Bar' so the rule will fail
            	public AttributeWithRequiredProperties (int foo, string bar)
            	{
            		storedFoo = foo;
            		storedBar = bar;
            	}
            	
            	public int Foo {
            		get {
            			return storedFoo;
            		}
            	}
             }
             </code></example><example>
             Good example:
             <code>
             [AttributeUsage (AttributeTargets.All)]
             public sealed class AttributeWithRequiredProperties : Attribute {
             	private int storedFoo;
             	private string storedBar;
             	
             	public AttributeWithRequiredProperties (int foo, string bar)
             	{
             		storedFoo = foo;
             		storedBar = bar;
             	}
             	
             	public int Foo {
             		get {
            			return storedFoo; 
             		}
             	}
             	
             	public string Bar {
             		get {
             			return storedBar;
             		}
             	}
             }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public AttributeArgumentsShouldHaveAccessorsRule ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.2.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>4.2.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>