Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Classe SimpleTypeResolver

Fornisce un sistema di risoluzione di tipi per tipi gestiti.

Spazio dei nomi:  System.Web.Script.Serialization
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)
public class SimpleTypeResolver : JavaScriptTypeResolver

Il tipo SimpleTypeResolver espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSimpleTypeResolverInizializza una nuova istanza di SimpleTypeResolver classe.
In alto
  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetTypeOttiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseCloneConsente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoResolveTyperestituisce Type il nome specificato. (Esegue l'override di JavaScriptTypeResolver.ResolveType(String)).
Metodo pubblicoResolveTypeIdRestituisce il nome completo di assembly specificato Type. (Esegue l'override di JavaScriptTypeResolver.ResolveTypeId(Type)).
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

Questo resolver di tipi può essere utilizzato con JavaScriptSerializer una classe per includere nella stringa serializzata JavaScript Object Notation (JSON) il nome completo di assembly di qualsiasi tipo gestito che richiede metadati personalizzati del tipo.

SimpleTypeResolver la classe consente di serializzare i tipi gestiti come JSON pur mantenendo la definizione del tipo gestito per i tipi personalizzati.

Per creare un'istanza di JavaScriptSerializer classe che utilizza un sistema di risoluzione di tipi, è necessario utilizzare JavaScriptSerializer(JavaScriptTypeResolver) costruttore.

Nell'esempio seguente viene illustrato come utilizzare SimpleTypeResolver classificare e nelle stringhe serializzate risultanti utilizzando il resolver di tipi diversi.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Script.Serialization" %>
<%@ Import Namespace="System.Web.Script.Serialization.TypeResolver.CS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    {

        ColorType customObject = new ColorType();        
        JavaScriptSerializer serializer;

        switch(((RadioButtonList)sender).SelectedIndex)
        {
            case 0:
                serializer = new JavaScriptSerializer();
                Label1.Text = serializer.Serialize(customObject);
                break;
            case 1:
                serializer = new JavaScriptSerializer(new SimpleTypeResolver());
                Label1.Text = serializer.Serialize(customObject);
                break;
            case 2:
                serializer = new JavaScriptSerializer(new CustomTypeResolver());
                Label1.Text = serializer.Serialize(customObject);
                break;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Type Resolvers</title>
    <style type="text/css">
        body {  font: 10pt Trebuchet MS;
                font-color: #000000;
             }

        .text { font: 8pt Trebuchet MS }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        Select one of the following serialization types:
        <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="True">
            <asp:ListItem Value="0">Serialization with no type resolver</asp:ListItem>
            <asp:ListItem Value="1">Serialization with the SimpleTypeResolver class</asp:ListItem>
            <asp:ListItem Value="2">Serialization with a custom type resolver</asp:ListItem>
        </asp:RadioButtonList>
        <br />
        Note the different resulting serialized strings. The ones that use type resolvers have an extra __type tag.
        <hr />
        Results:
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" ></asp:Label><br />
                </td>
            </tr>
        </table>        
        <br />
        &nbsp;</div>
    </form>
</body>
</html>


.NET Framework

Supportato in: 4.5, 4, 3.5

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
© 2013 Microsoft. Tutti i diritti riservati.