Do not create an instance of the SharePointClientDownloadData class directly. Instead, get an instance of an object by using one of the following methods:
Calling the SharePointClient.GetDownloadStream method and using its return value.
Calling the SharePointClient.GetDownloadStreamAsync method, an when the SharePointClient.DownloadCompleted event occurs the download stream is ready to be used. The SharePointClientDownloadCompletedEventArgs.DestinationData property that is a member of the event data will contain the instance of the SharePointClientDownloadData class being used.
In either case, you can use the Stream property to access the stream containing the downloaded item data (buffer).
The ETag property contains the SharePoint ETag that identifies the version of the file. This is obtained directly from SharePoint and is not used by the SharePointClient class.
The SharePointClientDownloadData class implements the System.IDisposable interface. Follow the standard .NET dispose pattern when using the SharePointClientDownloadData class. For more information, refer to the System.IDisposable interface documentation in MSDN.
Note: Do not dispose of the object in the Stream property yourself. Instead, the object will be disposed of when you call dispose on the owner SharePointClientDownloadData class.
For an example, refer to SharePointClient.GetDownloadStream and SharePointClient.GetDownloadStreamAsync.