ResourceReader.GetResourceData(String, String, Byte[]) Metoda

Definicja

Pobiera nazwę typu i dane nazwanego zasobu z otwartego pliku zasobów lub strumienia.Retrieves the type name and data of a named resource from an open resource file or stream.

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())

Parametry

resourceName
String

Nazwa zasobu.The name of a resource.

resourceType
String

Gdy ta metoda zwraca, zawiera ciąg, który reprezentuje nazwę typu pobranego zasobu.When this method returns, contains a string that represents the type name of the retrieved resource. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

resourceData
Byte[]

Gdy ta metoda zwraca, zawiera tablicę bajtową, która jest reprezentacją binarną pobranego typu.When this method returns, contains a byte array that is the binary representation of the retrieved type. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Wyjątki

resourceName to null.resourceName is null.

resourceName nie istnieje.resourceName does not exist.

resourceName ma nieprawidłowy typ.resourceName has an invalid type.

Pobrane dane zasobu są uszkodzone.The retrieved resource data is corrupt.

Bieżący ResourceReader obiekt nie został zainicjowany, prawdopodobnie dlatego, że jest zamknięty.The current ResourceReader object is not initialized, probably because it is closed.

Uwagi

GetResourceDataMetoda pobiera wartość nazwanego zasobu jako tablicę bajtów.The GetResourceData method retrieves the value of a named resource as a byte array. Jest zazwyczaj używany, gdy Value Właściwość zgłasza wyjątek podczas próby pobrania wartości zasobu.It is typically used when the Value property throws an exception when it tries to retrieve the value of a resource.

resourceType jest ciągiem, który reprezentuje typ danych zasobu.resourceType is a string that represents the data type of the resource. Może to być dowolna z następujących wartości:It can be any of the following values:

  • Ciąg reprezentujący ResourceTypeCode element członkowski wyliczenia, który wskazuje typ danych zasobu.The string representation of a ResourceTypeCode enumeration member that indicates the data type of the resource. ResourceTypeCode jest wyliczeniem prywatnym używanym przez., aby wskazać, że specjalny format binarny jest używany do przechowywania jednego z 19 wspólnych typów danych.ResourceTypeCode is a private enumeration that is used by .to indicate that a special binary format is used to store one of 19 common data types. Należą .NET Framework do nich typy danych pierwotnych (,,,,,,,,,, Boolean Byte Char Decimal Double Int16 Int32 Int64 Single SByte UInt16 , UInt32 , UInt64 ), a także String , DateTime i, a ponadto TimeSpan ResourceTypeCode Wyliczenie zawiera wartości pokazane w poniższej tabeli.These include the .NET Framework primitive data types (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), as well as String, DateTime, and TimeSpan, In addition, the ResourceTypeCode enumeration includes the values shown in the following table.

    ResourceTypeCode wartośćResourceTypeCode value OpisDescription
    ResourceTypeCode.ByteArray Dane są tablicą bajtów.The data is a byte array. Ten typ danych często wynika z wywołania ResourceWriter.AddResource(String, Byte[]) metody.This data type commonly results from the call to the ResourceWriter.AddResource(String, Byte[]) method.
    ResourceTypeCode.Null Dane to odwołanie o wartości null.The data is a null reference. Ten typ danych jest często wynikiem wywołania ResourceWriter.AddResource(String, Object) metody z obiektem, którego wartość to null .This data type commonly results from the call to the ResourceWriter.AddResource(String, Object) method with an object whose value is null.
    ResourceTypeCode.Stream Dane są przechowywane w strumieniu.The data is stored in a stream. Ten typ danych jest często wynikiem wywołania ResourceWriter.AddResource(String, Stream) ResourceWriter.AddResource(String, Stream, Boolean) metody lub.This data type commonly results from the call to the ResourceWriter.AddResource(String, Stream) or ResourceWriter.AddResource(String, Stream, Boolean) method.

    Przy założeniu, że resourceData plik nie został uszkodzony, można go zwykle przekonwertować z tablicy bajtów z powrotem na oryginalną wartość przez BitConverter wywołanie BinaryReader metody lub.Assuming that resourceData has not been corrupted, it can usually be converted from a byte array back to its original value by calling a BitConverter or BinaryReader method.

  • Ciąg, który zawiera w pełni kwalifikowaną nazwę typu, którego serializowane dane są przypisane do resourceData argumentu (na przykład System.String ).A string that contains the fully qualified name of the type whose serialized data is assigned to the resourceData argument (for example, System.String). Ponadto dla typów, które nie są częścią biblioteki klas .NET Framework, ciąg zawiera nazwę, wersję, kulturę i klucz publiczny zestawu, który zawiera typ.In addition, for types that are not part of the .NET Framework class library, the string includes the name, version, culture, and public key of the assembly that contains the type. Na przykład następujący ciąg wskazuje, że zserializowane dane reprezentują wystąpienie Person typu w Extensions przestrzeni nazw, które znajduje się w wersji 1,0 zestawu o nazwie Narzędzie, które nie ma klucza publicznego i nie wykryto kultury.For example, the following string indicates that the serialized data represents an instance of the Person type in the Extensions namespace, which is found in version 1.0 of an assembly named Utility that has no public key and no designated culture.

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

    Przy założeniu, że resourceData nie została uszkodzona i że typ źródła jest dostępny, resourceData można go przekonwertować z tablicy bajtowej z powrotem na oryginalną wartość, konwertując tablicę bajtów na Stream obiekt i przekazując strumień do BinaryFormatter.Deserialize metody.Assuming that resourceData has not been corrupted and that the source type is available, resourceData can be converted from a byte array back to its original value by converting the byte array to a Stream object and passing the stream to the BinaryFormatter.Deserialize method.

  • Ciąg używany do opisywania typu danych w ResourceWriter.AddResourceData wywołaniu metody.The string used to describe the data type in the ResourceWriter.AddResourceData method call.

Dotyczy

Zobacz też