AttachmentCollection Classe

Definizione

Archivia gli allegati da inviare come parte di un messaggio di posta elettronica.Stores attachments to be sent as part of an email message.

public ref class AttachmentCollection sealed : System::Collections::ObjectModel::Collection<System::Net::Mail::Attachment ^>, IDisposable
public sealed class AttachmentCollection : System.Collections.ObjectModel.Collection<System.Net.Mail.Attachment>, IDisposable
type AttachmentCollection = class
    inherit Collection<Attachment>
    interface IDisposable
Public NotInheritable Class AttachmentCollection
Inherits Collection(Of Attachment)
Implements IDisposable
Ereditarietà
AttachmentCollection
Implementazioni

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come creare e inviare un messaggio di posta elettronica con un allegato.The following code example demonstrates how to create and send an email message with an attachment.

static void CreateMessageWithAttachment( String^ server )
{
   
   // Specify the file to be attached and sent.
   // This example assumes that a file named Data.xls exists in the
   // current working directory.
   String^ file = L"data.xls";
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
   
   // Create  the file attachment for this email message.
   Attachment^ data = gcnew Attachment(file, MediaTypeNames::Application::Octet);
   
   // Add time stamp information for the file.
   ContentDisposition^ disposition = data->ContentDisposition;
   disposition->CreationDate = System::IO::File::GetCreationTime( file );
   disposition->ModificationDate = System::IO::File::GetLastWriteTime( file );
   disposition->ReadDate = System::IO::File::GetLastAccessTime( file );
   
   // Add the file attachment to this email message.
   message->Attachments->Add( data );
   
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Add credentials if the SMTP server requires them.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   
   // Display the values in the ContentDisposition for the attachment.
   ContentDisposition^ cd = data->ContentDisposition;
   Console::WriteLine( L"Content disposition" );
   Console::WriteLine( cd );
   Console::WriteLine( L"File {0}", cd->FileName );
   Console::WriteLine( L"Size {0}", cd->Size );
   Console::WriteLine( L"Creation {0}", cd->CreationDate );
   Console::WriteLine( L"Modification {0}", cd->ModificationDate );
   Console::WriteLine( L"Read {0}", cd->ReadDate );
   Console::WriteLine( L"Inline {0}", cd->Inline );
   Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
   IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
   }

   data->~Attachment();
   client->~SmtpClient();
}


public static void CreateMessageWithAttachment(string server)
{
    // Specify the file to be attached and sent.
    // This example assumes that a file named Data.xls exists in the
    // current working directory.
    string file = "data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
        "jane@contoso.com",
        "ben@contoso.com",
        "Quarterly data report.",
        "See the attached spreadsheet.");

    // Create  the file attachment for this email message.
    Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
    // Add time stamp information for the file.
    ContentDisposition disposition = data.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
    // Add the file attachment to this email message.
    message.Attachments.Add(data);

    //Send the message.
    SmtpClient client = new SmtpClient(server);
    // Add credentials if the SMTP server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", 
            ex.ToString());
    }
    // Display the values in the ContentDisposition for the attachment.
    ContentDisposition cd = data.ContentDisposition;
    Console.WriteLine("Content disposition");
    Console.WriteLine(cd.ToString());
    Console.WriteLine("File {0}", cd.FileName);
    Console.WriteLine("Size {0}", cd.Size);
    Console.WriteLine("Creation {0}", cd.CreationDate);
    Console.WriteLine("Modification {0}", cd.ModificationDate);
    Console.WriteLine("Read {0}", cd.ReadDate);
    Console.WriteLine("Inline {0}", cd.Inline);
    Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
    foreach (DictionaryEntry d in cd.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    data.Dispose();
}

Commenti

MailMessage.Attachments Le AttachmentCollection istanzedellaclassevengonorestituiteMailMessage.AlternateViews dalle proprietà e.Instances of the AttachmentCollection class are returned by the MailMessage.AlternateViews and MailMessage.Attachments properties.

Utilizzare la AlternateViews proprietà per specificare le copie di un messaggio di posta elettronica in formati diversi.Use the AlternateViews property to specify copies of an email message in different formats. Se, ad esempio, si invia un messaggio in formato HTML, potrebbe essere necessario fornire una versione in formato testo normale nel caso in cui alcuni destinatari usino lettori di posta elettronica che non possono visualizzare contenuto HTML.For example, if you send a message in HTML, you might also want provide a plain text version in case some of the recipients use email readers that cannot display HTML content.

Utilizzare la raccolta restituita dalla Attachments proprietà per aggiungere un allegato, ad esempio un file o il contenuto di un Stream oggetto a MailMessage.Use the collection returned by the Attachments property to add an attachment, such as a file or the contents of a Stream to this MailMessage.

Proprietà

Count

Ottiene il numero di elementi effettivamente contenuti nell'oggetto Collection<T>.Gets the number of elements actually contained in the Collection<T>.

(Ereditato da Collection<T>)
Item[Int32]

Ottiene o imposta l'elemento in corrispondenza dell'indice specificato.Gets or sets the element at the specified index.

(Ereditato da Collection<T>)
Items

Ottiene un wrapper dell'oggetto IList<T> per l'insieme Collection<T>.Gets a IList<T> wrapper around the Collection<T>.

(Ereditato da Collection<T>)

Metodi

Add(T)

Aggiunge un oggetto alla fine di Collection<T>.Adds an object to the end of the Collection<T>.

(Ereditato da Collection<T>)
Clear()

Rimuove tutti gli elementi da Collection<T>.Removes all elements from the Collection<T>.

(Ereditato da Collection<T>)
ClearItems()

Rimuove tutti gli elementi da Collection<T>.Removes all elements from the Collection<T>.

(Ereditato da Collection<T>)
Contains(T)

Determina se un elemento è incluso in Collection<T>.Determines whether an element is in the Collection<T>.

(Ereditato da Collection<T>)
CopyTo(T[], Int32)

Copia l'intero oggetto Collection<T> in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.Copies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array.

(Ereditato da Collection<T>)
Dispose()

Rilascia tutte le risorse usate da AttachmentCollection.Releases all resources used by the AttachmentCollection.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che esegue l'iterazione di Collection<T>.Returns an enumerator that iterates through the Collection<T>.

(Ereditato da Collection<T>)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IndexOf(T)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza nell'intera classe Collection<T>.Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>.

(Ereditato da Collection<T>)
Insert(Int32, T)

Inserisce un elemento in Collection<T> in corrispondenza dell'indice specificato.Inserts an element into the Collection<T> at the specified index.

(Ereditato da Collection<T>)
InsertItem(Int32, T)

Inserisce un elemento in Collection<T> in corrispondenza dell'indice specificato.Inserts an element into the Collection<T> at the specified index.

(Ereditato da Collection<T>)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
Remove(T)

Rimuove la prima occorrenza di un oggetto specifico da Collection<T>.Removes the first occurrence of a specific object from the Collection<T>.

(Ereditato da Collection<T>)
RemoveAt(Int32)

Rimuove l'elemento in corrispondenza dell'indice specificato di Collection<T>.Removes the element at the specified index of the Collection<T>.

(Ereditato da Collection<T>)
RemoveItem(Int32)

Rimuove l'elemento in corrispondenza dell'indice specificato di Collection<T>.Removes the element at the specified index of the Collection<T>.

(Ereditato da Collection<T>)
SetItem(Int32, T)

Sostituisce l'elemento in corrispondenza dell'indice specificato.Replaces the element at the specified index.

(Ereditato da Collection<T>)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi di ICollection in Array a partire da un particolare indice Array.Copies the elements of the ICollection to an Array, starting at a particular Array index.

(Ereditato da Collection<T>)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a ICollection è sincronizzato (thread-safe).Gets a value indicating whether access to the ICollection is synchronized (thread safe).

(Ereditato da Collection<T>)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso a ICollection.Gets an object that can be used to synchronize access to the ICollection.

(Ereditato da Collection<T>)
ICollection<T>.IsReadOnly

Ottiene un valore che indica se ICollection<T> è di sola lettura.Gets a value indicating whether the ICollection<T> is read-only.

(Ereditato da Collection<T>)
IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.Returns an enumerator that iterates through a collection.

(Ereditato da Collection<T>)
IList.Add(Object)

Aggiunge un elemento a IList.Adds an item to the IList.

(Ereditato da Collection<T>)
IList.Contains(Object)

Stabilisce se IList contiene un valore specifico.Determines whether the IList contains a specific value.

(Ereditato da Collection<T>)
IList.IndexOf(Object)

Determina l'indice di un elemento specifico in IList.Determines the index of a specific item in the IList.

(Ereditato da Collection<T>)
IList.Insert(Int32, Object)

Inserisce un elemento nell'oggetto IList in corrispondenza dell'indice specificato.Inserts an item into the IList at the specified index.

(Ereditato da Collection<T>)
IList.IsFixedSize

Ottiene un valore che indica se IList ha dimensioni fisse.Gets a value indicating whether the IList has a fixed size.

(Ereditato da Collection<T>)
IList.IsReadOnly

Ottiene un valore che indica se IList è di sola lettura.Gets a value indicating whether the IList is read-only.

(Ereditato da Collection<T>)
IList.Item[Int32]

Ottiene o imposta l'elemento in corrispondenza dell'indice specificato.Gets or sets the element at the specified index.

(Ereditato da Collection<T>)
IList.Remove(Object)

Rimuove la prima occorrenza di un oggetto specifico da IList.Removes the first occurrence of a specific object from the IList.

(Ereditato da Collection<T>)

Metodi di estensione

CopyToDataTable<T>(IEnumerable<T>)

Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input dove il parametro generico DataRow è T.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Restituisce una raccolta di elementi filtrati che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi discendenti di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Restituisce una raccolta filtrata di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Restituisce una raccolta di elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Restituisce una raccolta filtrata degli elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of the child elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Restituisce una raccolta di nodi che contiene tutti i nodi nella raccolta di origine ordinati in base all'ordine con cui sono riportati nel documento.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi figlio di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Rimuove ciascun nodo nella raccolta di origine dal nodo padre.Removes every node in the source collection from its parent node.

Si applica a

Vedi anche