﻿<?xml version="1.0" encoding="utf-8"?><Type Name="UseSTAThreadAttributeOnSWFEntryPointsRule" FullName="Gendarme.Rules.UI.UseSTAThreadAttributeOnSWFEntryPointsRule"><TypeSignature Language="C#" Value="public class UseSTAThreadAttributeOnSWFEntryPointsRule : Gendarme.Framework.Rule, Gendarme.Framework.IAssemblyRule" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UseSTAThreadAttributeOnSWFEntryPointsRule extends Gendarme.Framework.Rule implements class Gendarme.Framework.IAssemblyRule, class Gendarme.Framework.IRule" /><AssemblyInfo><AssemblyName>Gendarme.Rules.Ui</AssemblyName><AssemblyVersion>4.2.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>Gendarme.Framework.Rule</BaseTypeName></Base><Interfaces><Interface><InterfaceName>Gendarme.Framework.IAssemblyRule</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>Gendarme.Framework.FxCopCompatibility("Microsoft.Usage", "CA2232:MarkWindowsFormsEntryPointsWithStaThread")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Problem("The System.Windows.Forms application's entry-point (Main) is missing an [STAThread] attribute.")</AttributeName></Attribute><Attribute><AttributeName>Gendarme.Framework.Solution("Add a [STAThread] attribute to your application's Main method.")</AttributeName></Attribute></Attributes><Docs><summary>
             This rule checks executable assemblies, i.e. *.exe's, that reference 
             System.Windows.Forms to 
             ensure that their entry point is decorated with <c>[System.STAThread]</c> attribute 
             and is not decorated with <c>[System.MTAThread]</c> attribute to ensure that Windows 
             Forms work properly.
             </summary><remarks>To be added.</remarks><example>
             Bad example #1 (no attributes):
             <code>
             public class WindowsFormsEntryPoint {
            	static void Main ()
            	{
            	}
             }
             </code></example><example>
             Bad example #2 (MTAThread)
             <code>
             public class WindowsFormsEntryPoint {
            	[MTAThread]
            	static void Main ()
            	{
            	}
             }
             </code></example><example>
             Good example #1 (STAThread):
             <code>
             public class WindowsFormsEntryPoint {
                 [STAThread]
                 static void Main ()
                 {
                 }
             }
             </code></example><example>
             Good example #2 (not Windows Forms):
             <code>
             public class ConsoleAppEntryPoint {
            	static void Main ()
            	{
            	}
             }
             </code></example></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public UseSTAThreadAttributeOnSWFEntryPointsRule ();" /><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="CheckAssembly"><MemberSignature Language="C#" Value="public Gendarme.Framework.RuleResult CheckAssembly (Mono.Cecil.AssemblyDefinition assembly);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Gendarme.Framework.RuleResult CheckAssembly(class Mono.Cecil.AssemblyDefinition assembly) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.2.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gendarme.Framework.RuleResult</ReturnType></ReturnValue><Parameters><Parameter Name="assembly" Type="Mono.Cecil.AssemblyDefinition" /></Parameters><Docs><param name="assembly">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members></Type>