<?xml version="1.0" encoding="utf-8"?>
<Type Name="TaskItem" FullName="Microsoft.Build.Utilities.TaskItem">
  <TypeSignature Language="C#" Value="public sealed class TaskItem : MarshalByRefObject, Microsoft.Build.Framework.ITaskItem" />
  <AssemblyInfo>
    <AssemblyName>Microsoft.Build.Utilities</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.MarshalByRefObject</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Microsoft.Build.Framework.ITaskItem</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <since version="2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>
        <see cref="T:Microsoft.Build.Utilities.TaskItem" /> objects do not exactly correspond to item elements in project files. If they did, then tasks would have access to data that was not explicitly passed into the task through the project file. This is not a security issue, but rather an issue with project file clarity and transparency.</para>
      <para>This class has to be sealed since the build engine instantiates its own copy of this type. If a third party were to extend this class, then the build engine will yield an undesired behavior.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Defines a single item of the project as it is passed into a task.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TaskItem ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor enables this type to be COM-creatable.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TaskItem (Microsoft.Build.Framework.ITaskItem sourceItem);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="sourceItem" Type="Microsoft.Build.Framework.ITaskItem" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified source <see cref="T:Microsoft.Build.Framework.ITaskItem" />.</para>
        </summary>
        <param name="sourceItem">
          <attribution license="cc4" from="Microsoft" modified="false" />The item to copy.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TaskItem (string itemSpec);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="itemSpec" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified item-specification string.</para>
        </summary>
        <param name="itemSpec">
          <attribution license="cc4" from="Microsoft" modified="false" />The item specification.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TaskItem (string itemSpec, System.Collections.IDictionary itemMetadata);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="itemSpec" Type="System.String" />
        <Parameter Name="itemMetadata" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:Microsoft.Build.Utilities.TaskItem" /> class using the specified item-specification string and its metadata.</para>
        </summary>
        <param name="itemSpec">
          <attribution license="cc4" from="Microsoft" modified="false" />The item specification.</param>
        <param name="itemMetadata">
          <attribution license="cc4" from="Microsoft" modified="false" />The custom metadata for the item specification.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CloneCustomMetadata">
      <MemberSignature Language="C#" Value="public System.Collections.IDictionary CloneCustomMetadata ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.IDictionary</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method does not include built-in metadata.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Clones the collection of custom metadata for the item specification.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Collections.IDictionary" /> that represents a clone of the custom metadata.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CopyMetadataTo">
      <MemberSignature Language="C#" Value="public void CopyMetadataTo (Microsoft.Build.Framework.ITaskItem destinationItem);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="destinationItem" Type="Microsoft.Build.Framework.ITaskItem" />
      </Parameters>
      <Docs>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the metadata already exists on the destination item, then it is not overwritten. The original metadata value supersedes the copied metadata value.</para>
          <para>This method does not copy the item specification to the destination task item.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Copies the item-specification metadata to the specified destination task item.</para>
        </summary>
        <param name="destinationItem">
          <attribution license="cc4" from="Microsoft" modified="false" />The item that this method will copy metadata to.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="GetMetadata">
      <MemberSignature Language="C#" Value="public string GetMetadata (string metadataName);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Retrieves the specified metadata on the item.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that represents the metadata value.</para>
        </returns>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the metadata to retrieve.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="InitializeLifetimeService">
      <MemberSignature Language="C#" Value="public override object InitializeLifetimeService ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Otherwise, a limited lease of 5 minutes will result; and task instances can expire if they take a long time to process.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, gives task items infinite lease time.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>null to specify an infinite lifetime.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="ItemSpec">
      <MemberSignature Language="C#" Value="public string ItemSpec { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <since version="2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:Microsoft.Build.Framework.ITaskItem.ItemSpec" /> for the following item declaration in a project file is File.cs.</para>
          <code>&lt;ItemGroup&gt;
    &lt;Compile Include="File.cs"/&gt;
&lt;/ItemGroup&gt;</code>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the item specification.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="MetadataCount">
      <MemberSignature Language="C#" Value="public int MetadataCount { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the number of metadata set on the item.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="MetadataNames">
      <MemberSignature Language="C#" Value="public System.Collections.ICollection MetadataNames { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.ICollection</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the names of all the metadata on the item.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="op_Explicit">
      <MemberSignature Language="C#" Value="public static string op_Explicit (Microsoft.Build.Utilities.TaskItem taskItemToCast);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="taskItemToCast" Type="Microsoft.Build.Utilities.TaskItem" />
      </Parameters>
      <Docs>
        <param name="taskItemToCast">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="2.0" />
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RemoveMetadata">
      <MemberSignature Language="C#" Value="public void RemoveMetadata (string metadataName);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Removes the specified metadata on the item.</para>
        </summary>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of metadata to remove.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SetMetadata">
      <MemberSignature Language="C#" Value="public void SetMetadata (string metadataName, string metadataValue);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="metadataName" Type="System.String" />
        <Parameter Name="metadataValue" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <since version="2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets or modifies the value of the specified metadata on the item.</para>
        </summary>
        <param name="metadataName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of metadata to set or modify.</param>
        <param name="metadataValue">
          <attribution license="cc4" from="Microsoft" modified="false" />The new value of metadata.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the item specification.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> that represents the item specification.</para>
        </returns>
      </Docs>
    </Member>
  </Members>
</Type>