Compartilhar via


ResourceReader.GetResourceData(String, String, Byte[]) Método

Definição

Recupera o nome do tipo e os dados de um recurso nomeado de um arquivo de recurso em aberto ou do fluxo.

public:
 void GetResourceData(System::String ^ resourceName, [Runtime::InteropServices::Out] System::String ^ % resourceType, [Runtime::InteropServices::Out] cli::array <System::Byte> ^ % resourceData);
public void GetResourceData (string resourceName, out string resourceType, out byte[] resourceData);
member this.GetResourceData : string * string * Byte[] -> unit
Public Sub GetResourceData (resourceName As String, ByRef resourceType As String, ByRef resourceData As Byte())

Parâmetros

resourceName
String

O nome de um recurso.

resourceType
String

Quando este método é retornado, contém uma cadeia de caracteres que representa o nome do tipo do recurso recuperado. Este parâmetro é passado não inicializado.

resourceData
Byte[]

Quando este método retorna, ele contém uma matriz de bytes que é a representação binária do tipo recuperado. Este parâmetro é passado não inicializado.

Exceções

resourceName é null.

resourceName não existe.

resourceName tem um tipo inválido.

Os dados do recurso recuperados estão corrompidos.

O objeto ResourceReader atual não foi inicializado, provavelmente porque está fechado.

Comentários

O GetResourceData método recupera o valor de um recurso nomeado como uma matriz de bytes. Normalmente, ela é usada quando a Value propriedade gera uma exceção quando tenta recuperar o valor de um recurso.

resourceType é uma cadeia de caracteres que representa o tipo de dados do recurso. Pode ser qualquer um dos seguintes valores:

  • A representação de cadeia de caracteres de um ResourceTypeCode membro de enumeração que indica o tipo de dados do recurso. ResourceTypeCode é uma enumeração privada usada por .para indicar que um formato binário especial é usado para armazenar um dos 19 tipos de dados comuns. Eles incluem os tipos de dados primitivos .NET Framework (Boolean, Byte, Char, Decimal, DoubleInt16, Int32, Int64, SByteSingle, UInt16, , UInt32), UInt64bem como String, DateTimee TimeSpan, além disso, a ResourceTypeCode enumeração inclui os valores mostrados na tabela a seguir.

    Valor resourceTypeCode Descrição
    ResourceTypeCode.ByteArray Os dados são uma matriz de bytes. Esse tipo de dados geralmente resulta da chamada para o ResourceWriter.AddResource(String, Byte[]) método .
    ResourceTypeCode.Null Os dados são uma referência nula. Esse tipo de dados geralmente resulta da chamada para o ResourceWriter.AddResource(String, Object) método com um objeto cujo valor é null.
    ResourceTypeCode.Stream Os dados são armazenados em um fluxo. Esse tipo de dados geralmente resulta da chamada para o ResourceWriter.AddResource(String, Stream) método ou ResourceWriter.AddResource(String, Stream, Boolean) .

    Supondo que resourceData não tenha sido corrompido, ele geralmente pode ser convertido de uma matriz de bytes de volta para seu valor original chamando um BitConverter método ou BinaryReader .

  • Uma cadeia de caracteres que contém o nome totalmente qualificado do tipo cujos dados serializados são atribuídos ao resourceData argumento (por exemplo, System.String). Além disso, para tipos que não fazem parte da biblioteca de classes do .NET, a cadeia de caracteres inclui o nome, a versão, a cultura e a chave pública do assembly que contém o tipo. Por exemplo, a cadeia de caracteres a seguir indica que os dados serializados representam uma instância do Person tipo no Extensions namespace, que é encontrado na versão 1.0 de um assembly chamado Utilitário que não tem nenhuma chave pública e nenhuma cultura designada.

    Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

  • A cadeia de caracteres usada para descrever o tipo de dados na chamada de ResourceWriter.AddResourceData método.

Aplica-se a

Confira também