Compartilhar via


Diferenças de API na biblioteca de classe portátil

Para tornar os tipos que são compatíveis com o trabalho deBiblioteca de classes portátil em diferentes plataformas, algumas alterações foram feitas para os tipos na.NET Framework 4. Você encontrará essas alterações somente quando você estiver trabalhando em um Biblioteca de classes portátil project. Essas alterações corrigiu as inconsistências entre as diferentes versões dos tipos. Por exemplo, no Silverlight, o System.Net.HttpWebRequest classe contém uma propriedade chamada SupportsCookieContainer, mas essa propriedade não existe na System.Net.HttpWebRequest classe a.NET Framework 4. Para o Biblioteca de classes portátil, o SupportsCookieContainer propriedade foi adicionada para o.NET Framework para tornar os tipos consistente. No entanto, o propriedade deSupportsCookieContainer não estará disponível.NET os usuários do Framework 4, a menos que eles estão trabalhando um Biblioteca de classes portátil project. Este tópico descreve as alterações que foram feitas para os tipos e membros na.NET Framework para o Biblioteca de classes portátile algumas alterações de comportamento que você pode encontrar.

.NET Framework 4 alterações

Quando você estiver trabalhando um projeto deBiblioteca de classes portátil , você encontrará seguintes alterado tipos e membros na.NET Framework 4 class library.

System.ServiceModel.ClientBase <TChannel>.ChannelBase <T>

Este tipo foi adicionado para o.NET Framework. Já existia na biblioteca de classes do Silverlight. Ele tem 52 membros. Para obter mais informações, consulte o System.ServiceModel.ClientBase <TChannel>.ChannelBase <T> tópico de referência na documentação do Silverlight.

System.ServiceModel.Channels.IHttpCookieContainerManager

Este tipo foi adicionado para o.NET Framework. Já existia na biblioteca de classes do Silverlight. Ele tem 1 membro. Para obter mais informações, consulte o tópico de referência de System.ServiceModel.Channels.IHttpCookieContainerManager na documentação do Silverlight.

System.NET.HttpWebRequest

Duas novas propriedades foram adicionadas para System.Net.HttpWebRequest:

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Propriedade SupportsCookieContainer

Nova propriedade.

public bool SupportsCookieContainer { get; }

Propriedade AllowReadStreamBuffering

Nova propriedade.

public bool AllowReadStreamBuffering { get; set; }

System.NET.WebRequest

Dois novos métodos foram adicionados ao System.Net.WebRequest:

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Método CreateHttp(Uri)

Novo método.

public HttpWebRequest CreateHttp(System.Uri requestUri)

Método CreateHttp(String)

Novo método.

public HttpWebRequest CreateHttp(string requestUriString)

System.NET.WebResponse

Dois novos membros foram adicionados ao System.Net.WebResponse, e um método foi alterado.

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Propriedade SupportsHeaders

Nova propriedade.

public bool SupportsHeaders { get; }

Método Dispose(Boolean)

Novo método.

protected void Dispose(bool disposing)

Método Dispose

Alteração da assinatura.

Antigo: void IDisposable.Dispose()

Novo: public void Dispose()

System.XML.XmlReader

Dois métodos foram alterados no System.Xml.XmlReader.

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Método Dispose

Alteração da assinatura.

Antigo: void IDisposable.Dispose()

Novo: public void Dispose()

Método Close

Alteração da assinatura.

Antigo: public abstract Close()

Novo: public virtual Close()

System.XML.XmlWriter

Dois métodos foram alterados no System.Xml.XmlWriter.

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Método Dispose

Alteração da assinatura.

Antigo: void IDisposable.Dispose()

Novo: public void Dispose()

Método Close

Alteração da assinatura.

Antigo: public abstract Close()

Novo: public virtual Close()

System.XML.XmlResolver

Uma propriedade foi alterada no System.Xml.XmlResolver.

Membro

Alterações para a biblioteca de classes portátil

Assinatura

Propriedade Credentials

Alteração da assinatura.

Antigo: public abstract ICredentials Credentials { set; }

Novo: public virtual ICredentials Credentials { set; }

Alterações de comportamento na API

Alguns tipos e membros comportam diferente quando são usados em um Biblioteca de classes portátil project. Ao avaliar os metadados retornados de System.Type métodos e propriedades, o operador de igualdade pode retornar resultados diferentes em diferentes plataformas. No.NET Compact Framework, cada chamada sucessiva à Type.GetMethod método retorna uma nova instância de System.Reflection.MethodInfo, portanto, os valores de retorno nunca é avaliado como igual. No entanto, o.NET Framework 4, chamando GetMethod com os mesmos parâmetros retorna a mesma instância de MethodInfo. Você deve revisar e potencialmente modificar seu código quando você estiver trabalhando com o seguinte System.Reflection tipos: MethodInfo, FieldInfo, PropertyInfo, EventInfo, MemberInfo, MethodBase, ConstructorInfo, and ParameterInfo.

Consulte também

Outros recursos

Bibliotecas de classe portátil

Histórico de alterações

Date

History

Motivo

Março de 2011

Tópico adicional.

Aprimoramento de informações.