Differences API dans la bibliothèque de classes portable
Pour faire fonctionner les types pris en charge dans le Bibliothèque de classes portable sur des plateformes différentes, certaines modifications ont été apportées aux types dans le .NET Framework 4. Vous rencontrerez ces modifications uniquement lorsque vous travaillerez dans un projet Bibliothèque de classes portable. Ces modifications ont corrigé des incohérences entre les différentes versions finales des types. Par exemple, dans Silverlight, la classe System.Net.HttpWebRequest contient une propriété nommée SupportsCookieContainer, mais cette propriété n'existait pas dans la classe System.Net.HttpWebRequest dans le .NET Framework 4. Pour le Bibliothèque de classes portable, la propriété SupportsCookieContainer a été ajoutée au .NET Framework pour rendre les types cohérents. Toutefois, la propriété SupportsCookieContainer n'est pas disponible pour les utilisateurs de .NET Framework 4, sauf s'ils travaillent dans un projet Bibliothèque de classes portable. Cette rubrique décrit les modifications apportées aux types et membres dans le .NET Framework pour le Bibliothèque de classes portable et les changements de comportement que vous pouvez rencontrer.
Modifications de .NET Framework 4
Lorsque vous travaillez dans un projet Bibliothèque de classes portable, vous rencontrerez les types et membres modifiés suivants dans la bibliothèque de classes de .NET Framework 4.
System.ServiceModel.ClientBase<TChannel>.ChannelBase<T>
Ce type a été ajouté au .NET Framework. Il existait déjà dans la bibliothèque de classes Silverlight. Il possède 52 membres. Pour plus d'informations, consultez la rubrique de référence System.ServiceModel.ClientBase<TChannel>.ChannelBase<T> dans la documentation Silverlight.
System.ServiceModel.Channels.IHttpCookieContainerManager
Ce type a été ajouté au .NET Framework. Il existait déjà dans la bibliothèque de classes Silverlight. Il possède 1 membre. Pour plus d'informations, consultez la rubrique de référence System.ServiceModel.Channels.IHttpCookieContainerManager dans la documentation Silverlight.
System.Net.HttpWebRequest
Deux nouvelles propriétés ont été ajoutées à System.Net.HttpWebRequest :
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Propriété SupportsCookieContainer |
Nouvelle propriété. |
public bool SupportsCookieContainer { get; } |
Propriété AllowReadStreamBuffering |
Nouvelle propriété. |
public bool AllowReadStreamBuffering { get; set; } |
System.Net.WebRequest
Deux nouvelles méthodes ont été ajoutées à System.Net.WebRequest :
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Méthode CreateHttp(Uri) |
Nouvelle méthode. |
public HttpWebRequest CreateHttp(System.Uri requestUri) |
Méthode CreateHttp(String) |
Nouvelle méthode. |
public HttpWebRequest CreateHttp(string requestUriString) |
System.Net.WebResponse
Deux nouveaux membres ont été ajoutés à System.Net.WebResponse et une méthode a été modifiée.
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Propriété SupportsHeaders |
Nouvelle propriété. |
public bool SupportsHeaders { get; } |
Méthode Dispose(Boolean) |
Nouvelle méthode. |
protected void Dispose(bool disposing) |
Méthode Dispose |
Modification de signature. |
Ancien : void IDisposable.Dispose() Nouveau : public void Dispose() |
System.Xml.XmlReader
Deux méthodes ont été modifiées dans System.Xml.XmlReader.
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Méthode Dispose |
Modification de signature. |
Ancien : void IDisposable.Dispose() Nouveau : public void Dispose() |
Méthode Close |
Modification de signature. |
Ancien : public abstract Close() Nouveau : public virtual Close() |
System.Xml.XmlWriter
Deux méthodes ont été modifiées dans System.Xml.XmlWriter.
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Méthode Dispose |
Modification de signature. |
Ancien : void IDisposable.Dispose() Nouveau : public void Dispose() |
Méthode Close |
Modification de signature. |
Ancien : public abstract Close() Nouveau : public virtual Close() |
System.Xml.XmlResolver
Une propriété a été modifiée dans System.Xml.XmlResolver.
Membre |
Modifications pour la bibliothèque de classes portable |
Signature |
---|---|---|
Propriété Credentials |
Modification de signature. |
Ancien : public abstract ICredentials Credentials { set; } Nouveau : public virtual ICredentials Credentials { set; } |
Changements de comportement dans l'API
Certains types et membres se comportent différemment lorsqu'ils sont utilisés dans un projet Bibliothèque de classes portable.
Métadonnées de type
Lors de l'évaluation des métadonnées retournées par les méthodes et propriétés System.Type, l'opérateur d'égalité peut retourner des résultats différents sur des plateformes différentes. Dans le .NET Compact Framework, chaque appel successif à la méthode Type.GetMethod retourne une nouvelle instance de System.Reflection.MethodInfo, donc les valeurs de retour ne sont jamais évaluées comme égales. Toutefois, dans le .NET Framework 4, l'appel de GetMethod avec les mêmes paramètres retourne la même instance de MethodInfo. Vous devez examiner et potentiellement modifier votre code lorsque vous travaillez avec les types System.Reflection suivants : MethodInfo, FieldInfo, PropertyInfo, EventInfo, MemberInfo, MethodBase, ConstructorInfoet ParameterInfo.
Arborescence de l'expression avec les types génériques
Sous Windows Phone 7, une exception VerificationException est levée lorsque vous créez une arborescence de l'expression qui fait référence à une variable locale qui est un type générique.
Réflexion sur les types génériques ouverts
Sous Windows Phone 7, la réflexion est prise en charge sur les types génériques fermés ; toutefois, la plupart des opérations de réflexion ne sont pas prises en charge sur les types génériques ouverts. Sur les types génériques ouverts, seules les opérations de réflexion suivantes sont prises en charge pour Windows Phone 7 :
Récupération d'un type générique ouvert ou d'une méthode en appelant la méthode GetType ou GetMethods.
Création d'un type générique ouvert ou d'une méthode à partir d'un type générique ouvert ou d'une méthode en appelant la méthode MakeGenericType ou MakeGenericMethod.
Pour toutes les autres opérations de réflexion sur des types génériques ouverts, une exception NotSupportedException est levée.
Voir aussi
Autres ressources
Bibliothèques de classes portables
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Avril 2011 |
Des informations supplémentaires sur les modifications de comportement ont été ajoutées. |
Améliorations apportées aux informations. |
Mars 2011 |
Ajout d'une rubrique. |
Améliorations apportées aux informations. |