<Type Name="CLSCompliantAttribute" FullName="System.CLSCompliantAttribute" FullNameSP="System_CLSCompliantAttribute" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed serializable CLSCompliantAttribute extends System.Attribute" />
  <TypeSignature Language="C#" Value="public sealed class CLSCompliantAttribute : Attribute" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Attribute</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.AttributeUsage(System.AttributeTargets.All)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <summary>
      <para> Indicates whether the target of the current attribute complies with the
      Common Language Specification (CLS).</para>
    </summary>
    <remarks>
      <para>If no <see cref="T:System.CLSCompliantAttribute" /> is associated with a given assembly, that assembly is
   assumed not to be CLS-compliant.</para>
      <para>A type is assumed to be CLS-compliant if and only if its
   enclosing type (for nested types) or assembly (for top-level types) is
   CLS-compliant. Other members (methods, fields, properties and events) are
   CLS-compliant if and only if the type in which they are
   defined is CLS-compliant. </para>
      <block subset="none" type="note">
        <para> The CLS is a subset of CLI features that is supported by a
      broad set of compliant languages and tools. CLS-compliant languages and tools
      are guaranteed to interoperate with other CLS-compliant languages and tools.</para>
        <para>Because the CLS defines the rules for language interoperability, its rules
      apply only to "externally visible" items. The CLS assumes that language
      interoperability is important only across the assembly boundary - that is,
      within a single assembly there are no restrictions as to the programming
      techniques that are used. Thus, the CLS rules apply only to items that are
      visible outside of their defining assembly and have public, family, or
      family-or-assembly accessibility.</para>
        <para> For more information on CLS compliance,
      see Partition I of the CLI Specification.</para>
        <para> This attribute can be applied to any valid attribute
      target. For a complete list of valid targets, see <see cref="T:System.AttributeTargets" />.</para>
      </block>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool isCompliant)" />
      <MemberSignature Language="C#" Value="public CLSCompliantAttribute (bool isCompliant);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="isCompliant" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="isCompliant">
          <see langword="true" /> if the target of the new instance complies with the CLS; otherwise, <see langword="false" />.</param>
        <summary>
          <para> Constructs and initializes a new instance of the <see cref="T:System.CLSCompliantAttribute" />
class.</para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsCompliant">
      <MemberSignature Language="ILASM" Value=".property bool IsCompliant { public hidebysig specialname instance bool get_IsCompliant() }" />
      <MemberSignature Language="C#" Value="public bool IsCompliant { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Gets a <see cref="T:System.Boolean" /> indicating whether the target of the
 current instance is CLS-compliant.</para>
        </summary>
        <value>
          <para>
            <see langword="true " />if the target 
 of
 the current instance complies with
 the CLS; otherwise, <see langword="false" /> .</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
