Formazione
Modulo
Creare un'interfaccia utente in un'app .NET MAUI usando XAML - Training
Informazioni su come progettare un'interfaccia utente per un'app .NET MAUI usando XAML.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.
I nomi XML includono uno spazio dei nomi e un nome locale. Un nome completo è la combinazione dello spazio dei nomi e del nome locale.
XName non contiene costruttori pubblici. Questa classe fornisce invece una conversione implicita da String che consente di creare un oggetto XName. La posizione più comune in cui si usa questa conversione è quando si costruisce un elemento o un attributo: il primo argomento per il XElement costruttore è un XNameoggetto . Passando una stringa, si sfrutta la conversione implicita. Il codice seguente crea un elemento con un nome senza spazio dei nomi:
XElement root = new XElement("ElementName", "content");
Console.WriteLine(root);
In Visual Basic è più appropriato usare valori letterali XML:
Dim root As XElement = <ElementName>content</ElementName>
Console.WriteLine(root)
Nell'esempio viene prodotto l'output seguente:
<ElementName>content</ElementName>
L'assegnazione di una stringa a un XName usa la conversione implicita da String.
Nell'esempio di Visual Basic viene creato l'oggetto XElement utilizzando valori letterali XML. Anche se vengono utilizzati valori letterali XML, viene creato un XName oggetto per .XElement
Inoltre, è possibile chiamare il Get metodo per un XName oggetto . Tuttavia, il modo consigliato consiste nell'usare la conversione implicita da stringa.
Come per XML, un XName può trovarsi in uno spazio dei nomi oppure non può trovarsi in alcuno spazio dei nomi.
Per C#, l'approccio consigliato per la creazione di in XName uno spazio dei nomi consiste nel dichiarare l'oggetto XNamespace , quindi usare l'override dell'operatore di addizione.
Per Visual Basic, l'approccio consigliato consiste nell'usare valori letterali XML e dichiarazioni di spazi dei nomi globali per creare codice XML in uno spazio dei nomi.
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "ElementName", "content");
Console.WriteLine(root);
Imports <xmlns="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim root As XElement = <ElementName>content</ElementName>
Console.WriteLine(root)
End Sub
End Module
Nell'esempio viene prodotto l'output seguente:
<ElementName xmlns="http://www.adventure-works.com">content</ElementName>
La Namespace proprietà di un XName oggetto non deve essere Null. Se non XName è presente alcuno spazio dei nomi, la Namespace proprietà verrà impostata su None. Il codice seguente illustra quanto segue:
XElement root = new XElement("ElementName", "content");
if (root.Name.Namespace == XNamespace.None)
Console.WriteLine("The element is in no namespace.");
else
Console.WriteLine("The element is in a namespace.");
Dim root As XElement = <ElementName>content</ElementName>
If (root.Name.Namespace Is XNamespace.None) Then
Console.WriteLine("The element is in no namespace.")
Else
Console.WriteLine("The element is in a namespace.")
End If
Nell'esempio viene prodotto l'output seguente:
The element is in no namespace.
È anche possibile creare un oggetto XName da un nome XML espanso nel formato {namespace}localname
:
XElement root = new XElement("{http://www.adventure-works.com}ElementName", "content");
Console.WriteLine(root);
Dim root As XElement = New XElement("{http://www.adventure-works.com}ElementName", "content")
Console.WriteLine(root)
Nell'esempio viene prodotto l'output seguente:
<ElementName xmlns="http://www.adventure-works.com">content</ElementName>
Tenere presente che la creazione di un oggetto XName tramite un nome espanso è meno efficiente rispetto alla creazione di un XNamespace oggetto e all'uso dell'override dell'operatore di addizione. È anche meno efficiente dell'importazione di uno spazio dei nomi globale e dell'uso di valori letterali XML in Visual Basic.
Se si crea un XName oggetto utilizzando un nome espanso, LINQ to XML deve trovare l'istanza atomizzata di uno spazio dei nomi. Questo lavoro deve essere ripetuto per ogni utilizzo di un nome espanso. È probabile che questo tempo aggiuntivo sia trascurabile durante la scrittura di query LINQ; Tuttavia, potrebbe essere significativo quando si crea un albero XML di grandi dimensioni.
XName gli oggetti sono sicuramente atomizzati; ovvero, se due XName oggetti hanno esattamente lo stesso spazio dei nomi e esattamente lo stesso nome locale, condividono la stessa istanza. A questo scopo vengono forniti anche gli operatori di uguaglianza e confronto in modo esplicito.
Tra gli altri vantaggi, questa funzionalità consente un'esecuzione più rapida delle query. Quando si filtra il nome di elementi o attributi, i confronti espressi nei predicati usano il confronto tra identità e non il confronto dei valori. È molto più veloce determinare che due riferimenti fanno effettivamente riferimento allo stesso oggetto rispetto a confrontare due stringhe.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Formazione
Modulo
Creare un'interfaccia utente in un'app .NET MAUI usando XAML - Training
Informazioni su come progettare un'interfaccia utente per un'app .NET MAUI usando XAML.