﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IProducerConsumerCollection&lt;T&gt;" FullName="System.Collections.Concurrent.IProducerConsumerCollection&lt;T&gt;"><TypeSignature Language="C#" Value="public interface IProducerConsumerCollection&lt;T&gt; : System.Collections.Generic.IEnumerable&lt;T&gt;, System.Collections.ICollection" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProducerConsumerCollection`1&lt;T&gt; implements class System.Collections.Generic.IEnumerable`1&lt;!T&gt;, class System.Collections.ICollection, class System.Collections.IEnumerable" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><TypeParameters><TypeParameter Name="T" /></TypeParameters><Interfaces><Interface><InterfaceName>System.Collections.Generic.IEnumerable&lt;T&gt;</InterfaceName></Interface><Interface><InterfaceName>System.Collections.ICollection</InterfaceName></Interface></Interfaces><Docs><typeparam name="T">To be added.</typeparam><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information, see <format type="text/html"><a href="2e7ca21f-786c-4367-96be-0cf3f3dcc6bd">Thread-Safe Collections</a></format> and <format type="text/html"><a href="987ea3d7-0ad5-4238-8b64-331ce4eb3f0b">BlockingCollection Overview</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Defines methods to manipulate thread-safe collections intended for producer/consumer usage. This interface provides a unified representation for producer/consumer collections so that higher level abstractions such as <see cref="T:System.Collections.Concurrent.BlockingCollection`1" /> can use the collection as the underlying storage mechanism.</para></summary></Docs><Members><Member MemberName="CopyTo"><MemberSignature Language="C#" Value="public void CopyTo (T[] array, int index);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyTo(!T[] array, int32 index) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="array" Type="T[]" /><Parameter Name="index" Type="System.Int32" /></Parameters><Docs><param name="array">To be added.</param><param name="index">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="ToArray"><MemberSignature Language="C#" Value="public T[] ToArray ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !T[] ToArray() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>T[]</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The method provides a snapshot of the underlying collection. It is possible for other threads to add or remove items immediately after the array is made.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Copies the elements contained in the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1" /> to a new array.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new array containing the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1" />.</para></returns></Docs></Member><Member MemberName="TryAdd"><MemberSignature Language="C#" Value="public bool TryAdd (T item);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool TryAdd(!T item) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="item" Type="T" /></Parameters><Docs><param name="item">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="TryTake"><MemberSignature Language="C#" Value="public bool TryTake (out T item);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool TryTake(!T item) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="item" Type="T&amp;" RefType="out" /></Parameters><Docs><param name="item">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members></Type>