Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Differenze tra API nella libreria di classi portabile

Per supportare lo sviluppo per più piattaforme, alcuni tipi di .NET Framework 4 e membri sono stati modificati in Libreria di classi portabile.

Queste modifiche hanno corretto delle incoerenze tra le diverse versioni dei tipi. Queste modifiche verranno rilevate solo mentre si sta lavorando in un progetto Libreria di classi portabile in Visual Studio 2012. Ad esempio, in Silverlight, la classe System.Net.HttpWebRequest contiene una proprietà denominata SupportsCookieContainer, ma questa proprietà non esiste nella classe System.Net.HttpWebRequest in .NET Framework 4. Per Libreria di classi portabile, la proprietà SupportsCookieContainer è stata aggiunta a .NET Framework per rendere coerenti i tipi. Tuttavia, la proprietà SupportsCookieContainer non è disponibile agli utenti di .NET Framework 4 a meno che non stiano funzionando in un progetto Libreria di classi portabile. Questo argomento descrive le modifiche apportate a tipi e membri in .NET Framework per Libreria di classi portabile e le modifiche comportamentali che è possibile rilevare.

Quando si lavora in un progetto Libreria di classi portabile, si incontrano i seguenti tipi e membri modificati nella libreria di classi .NET Framework 4.

Gg597392.collapse_all(it-it,VS.110).gifSystem.ServiceModel.ClientBase<TChannel>.ChannelBase<T>

Questo tipo è stato aggiunto a .NET Framework. Già esisteva nella libreria di classi Silverlight. Dispone di 52 membri. Per ulteriori informazioni, vedere l'argomento di riferimento System.ServiceModel.ClientBase<TChannel>.ChannelBase<T> nella documentazione Silverlight.

Gg597392.collapse_all(it-it,VS.110).gifSystem.ServiceModel.Channels.IHttpCookieContainerManager

Questo tipo è stato aggiunto a .NET Framework. Già esisteva nella libreria di classi Silverlight. Dispone di 1 membro. Per ulteriori informazioni, vedere l'argomento di riferimento System.ServiceModel.Channels.IHttpCookieContainerManager nella documentazione Silverlight.

Gg597392.collapse_all(it-it,VS.110).gifSystem.Net.HttpWebRequest

Due nuove proprietà sono state aggiunte a System.Net.HttpWebRequest:

Membro

Modifiche per la libreria di classi portabile

Signature

Proprietà SupportsCookieContainer

Nuova proprietà.

public bool SupportsCookieContainer { get; }

Proprietà AllowReadStreamBuffering

Nuova proprietà.

public bool AllowReadStreamBuffering { get; set; }

Gg597392.collapse_all(it-it,VS.110).gifSystem.Net.WebRequest

Due nuovi metodi sono stati aggiunti a System.Net.WebRequest:

Membro

Modifiche per la libreria di classi portabile

Signature

Metodo CreateHttp(Uri)

Nuovo metodo.

public HttpWebRequest CreateHttp(System.Uri requestUri)

Metodo CreateHttp(String)

Nuovo metodo.

public HttpWebRequest CreateHttp(string requestUriString)

Gg597392.collapse_all(it-it,VS.110).gifSystem.Net.WebResponse

Due nuovi membri sono stati aggiunti a System.Net.WebResponse ed è stato modificato un metodo.

Membro

Modifiche per la libreria di classi portabile

Signature

Proprietà SupportsHeaders

Nuova proprietà.

public bool SupportsHeaders { get; }

Metodo Dispose(Boolean)

Nuovo metodo.

protected void Dispose(bool disposing)

Metodo Dispose

Modifica della firma.

Precedente: void IDisposable.Dispose()

Nuova: public void Dispose()

Gg597392.collapse_all(it-it,VS.110).gifSystem.Xml.XmlReader

Due metodi sono stati modificati in System.Xml.XmlReader.

Membro

Modifiche per la libreria di classi portabile

Signature

Metodo Dispose

Modifica della firma.

Precedente: void IDisposable.Dispose()

Nuova: public void Dispose()

Metodo Close

Modifica della firma.

Precedente: public abstract Close()

Nuova: public virtual Close()

Gg597392.collapse_all(it-it,VS.110).gifSystem.Xml.XmlWriter

Due metodi sono stati modificati in System.Xml.XmlWriter.

Membro

Modifiche per la libreria di classi portabile

Signature

Metodo Dispose

Modifica della firma.

Precedente: void IDisposable.Dispose()

Nuova: public void Dispose()

Metodo Close

Modifica della firma.

Precedente: public abstract Close()

Nuova: public virtual Close()

Gg597392.collapse_all(it-it,VS.110).gifSystem.Xml.XmlResolver

Una proprietà è stata modificata in System.Xml.XmlResolver.

Membro

Modifiche per la libreria di classi portabile

Signature

Proprietà Credentials

Modifica della firma.

Precedente: public abstract ICredentials Credentials { set; }

Nuova: public virtual ICredentials Credentials { set; }

Alcuni tipi e membri si comportano in modo diverso quando sono utilizzati in un progetto Libreria di classi portabile.

Gg597392.collapse_all(it-it,VS.110).gifMetadati dal tipo

In caso di valutazione di metadati restituiti da metodi e proprietà Type, è possibile che l'operatore di uguaglianza restituisca risultati diversi sulle piattaforme diverse. In .NET Compact Framework, ogni chiamata successiva al metodo Type.GetMethod restituisce una nuova istanza di MethodInfo, pertanto i valori restituiti non sono valutati mai come uguali. Tuttavia, in .NET Framework 4, chiamando GetMethod con gli stessi parametri, viene restituita la stessa istanza di MethodInfo. È necessario rivedere ed eventualmente modificare il codice quando si lavora con i seguenti tipi System.Reflection: MethodInfo, FieldInfo, PropertyInfo, EventInfo, MemberInfo, MethodBase, ConstructorInfoe ParameterInfo.

Gg597392.collapse_all(it-it,VS.110).gifStruttura ad albero delle espressioni con tipi generici

In Windows Phone 7 viene generata un'eccezione VerificationException quando si crea una struttura ad albero delle espressioni che fa riferimento a una variabile locale di tipo generico.

Gg597392.collapse_all(it-it,VS.110).gifReflection nei tipi generici aperti

In Windows Phone 7 la reflection è supportata nei tipi generici chiusi. La maggior parte delle operazioni di reflection non è tuttavia supportata nei tipi generici aperti. Nei tipi generici aperti, sono supportate solo le operazioni di reflection seguenti per Windows Phone 7:

  • Recupero di un metodo o un tipo generico aperto chiamando il metodo GetMethods o GetType.

  • Creazione di un metodo o un tipo generico da un metodo o un tipo generico aperto chiamando il metodo MakeGenericType o MakeGenericMethod.

Per tutte le altre operazioni di reflection nei tipi generici aperti, viene generata un'eccezione NotSupportedException.

Mostra: