Fa in modo che il metodo Serialize di XmlSerializer non serializzi il campo pubblico o il valore pubblico della proprietà in lettura/scrittura.
System.Attribute
System.Xml.Serialization.XmlIgnoreAttribute
Spazio dei nomi: System.Xml.Serialization
Assembly: System.Xml (in System.Xml.dll)
<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Parameter Or AttributeTargets.ReturnValue)> _ Public Class XmlIgnoreAttribute _ Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue)] public class XmlIgnoreAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Property|AttributeTargets::Field|AttributeTargets::Parameter|AttributeTargets::ReturnValue)] public ref class XmlIgnoreAttribute : public Attribute
[<AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue)>] type XmlIgnoreAttribute = class inherit Attribute end
Il tipo XmlIgnoreAttribute espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
XmlIgnoreAttribute | Inizializza una nuova istanza della classe XmlIgnoreAttribute. |
| Nome | Descrizione | |
|---|---|---|
|
TypeId | Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
| Nome | Descrizione | |
|---|---|---|
|
Equals | Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
GetHashCode | Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
IsDefaultAttribute | Quando è sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito della classe derivata. (Ereditato da Attribute) |
|
Match | Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| Nome | Descrizione | |
|---|---|---|
|
_Attribute.GetIDsOfNames | Esegue il mapping di un set di nomi a un set corrispondente di ID di invio. (Ereditato da Attribute) |
|
_Attribute.GetTypeInfo | Recupera le informazioni sul tipo relative a un oggetto, che possono essere utilizzate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
|
_Attribute.GetTypeInfoCount | Recupera il numero delle interfacce di informazioni di tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
|
_Attribute.Invoke | Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |
XmlIgnoreAttribute appartiene a una famiglia di attributi che controlla come XmlSerializer serializza o deserializza un oggetto. Se si applica XmlIgnoreAttribute a un qualsiasi membro di una classe, l'XmlSerializer ignora il membro quando serializza o deserializza un'istanza della classe. Per un elenco completo di attributi analoghi, vedere Attributes That Control XML Serialization.
È possibile eseguire l'override del comportamento generato da XmlIgnoreAttribute creando un oggetto XmlAttributes e impostando la proprietà XmlIgnore su false. Utilizzare il metodo Add per aggiungere l'oggetto XmlAttributes a un'istanza della classe XmlAttributeOverrides. Infine, utilizzare l'oggetto XmlAttributeOverrides per creare un'istanza della classe XmlSerializer prima di chiamare il metodo Serialize o Deserialize.
[XML Schema Definition Tool (Xsd.exe) talvolta genera XmlIgnoreAttribute quando crea classi da un file di schema (.xsd). Questo comportamento si verifica poiché non è possibile impostare i tipi dei valori su null, mentre tutti i tipi di dati XML possono assumere tale valore. Di conseguenza, lo strumento crea due campi quando rileva un tipo XML associato a un tipo valore: uno contenente il valore e un altro campo speciale che assume la forma fieldnameSpecified, in cui fieldname viene sostituito dal nome del campo o della proprietà. Questo campo speciale viene tuttavia generato solo quando lo schema specifica che l'elemento non dispone di occorrenze minime (minOccurs = "0") e che non è dotato di valori predefiniti. XmlSerializer imposta e controlla questo campo speciale per determinare se è stato impostato un valore per il campo o la proprietà. Poiché il campo speciale non deve essere serializzato, lo strumento vi applica XmlIgnoreAttribute.
Per ulteriori informazioni sull'utilizzo degli attributi, vedere Estensione di metadati mediante attributi.
Nota
|
|---|
|
Nel codice è possibile utilizzare la parola XmlIgnore anziché la forma più estesa XmlIgnoreAttribute. |
Il seguente esempio mostra una classe di nome Group, che contiene un campo di nome Comment. L'esempio assegna XmlIgnoreAttribute al campo, facendo in modo che XmlSerializer ignori il campo durante la serializzazione o la deserializzazione di un'istanza della classe.
Public Class Group ' the XmlSerializer ignores this field. <XmlIgnore()> Public Comment As String ' The XmlSerializer serializes this field. Public GroupName As String End Class
public class Group { // The XmlSerializer ignores this field. [XmlIgnore] public string Comment; // The XmlSerializer serializes this field. public string GroupName; }
public ref class Group { public: // The XmlSerializer ignores this field. [XmlIgnore] String^ Comment; // The XmlSerializer serializes this field. String^ GroupName; };
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Supportato in:
Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota