﻿<?xml version="1.0" encoding="utf-8"?><Type Name="TypeIdentifierAttribute" FullName="System.Runtime.InteropServices.TypeIdentifierAttribute"><TypeSignature Language="C#" Value="public sealed class TypeIdentifierAttribute : Attribute" /><TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit TypeIdentifierAttribute extends System.Attribute" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Attribute</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.AttributeUsage(System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.Delegate | System.AttributeTargets.All, Inherited=false)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Runtime.InteropServices.TypeIdentifierAttribute" /> attribute is primarily emitted by compilers. It serves two purposes: </para><list type="bullet"><item><para>For all imported types, it indicates that the type is intended to be used for type equivalence. </para></item><item><para>For types that don’t have GUIDs in their type library, it has a constructor that takes two strings (<paramref name="scope" /> and <paramref name="identifier" />). These are combined into a GUID and become the key that is used for type equivalence.</para></item></list><para>Type equivalence is discussed in the <see cref="M:System.Type.IsEquivalentTo(System.Type)" /> topic.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides support for type equivalence.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public TypeIdentifierAttribute ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor overload does not accept parameters. Therefore, interfaces that have this attribute use the type's GUID and simple name to establish type equivalence.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a new instance of the <see cref="T:System.Runtime.InteropServices.TypeIdentifierAttribute" /> class. </para></summary></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public TypeIdentifierAttribute (string scope, string identifier);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string scope, string identifier) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="scope" Type="System.String" /><Parameter Name="identifier" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="scope" /> and <paramref name="identifier" /> parameters are used to establish type equivalence. They are combined into a GUID and become the key that is used for type equivalence. This constructor is particularly useful for types that do not have GUIDs in their type library.</para><para>The <see cref="T:System.Runtime.InteropServices.TypeIdentifierAttribute" /> class internally maintains the <paramref name="scope" /> and <paramref name="identifier" /> parameters as private members.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a new instance of the <see cref="T:System.Runtime.InteropServices.TypeIdentifierAttribute" /> class with the specified scope and identifier. </para></summary><param name="scope"><attribution license="cc4" from="Microsoft" modified="false" />The first type equivalence string.</param><param name="identifier"><attribution license="cc4" from="Microsoft" modified="false" />The second type equivalence string.</param></Docs></Member><Member MemberName="Identifier"><MemberSignature Language="C#" Value="public string Identifier { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string Identifier" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the value of the <paramref name="identifier" /> parameter that was passed to the <see cref="M:System.Runtime.InteropServices.TypeIdentifierAttribute.#ctor(System.String,System.String)" /> constructor.</para></summary></Docs></Member><Member MemberName="Scope"><MemberSignature Language="C#" Value="public string Scope { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string Scope" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the value of the <paramref name="scope" /> parameter that was passed to the <see cref="M:System.Runtime.InteropServices.TypeIdentifierAttribute.#ctor(System.String,System.String)" /> constructor.</para></summary></Docs></Member></Members></Type>