Udostępnij za pośrednictwem


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

Definicja

Pobiera nazwę typu i dane nazwanego zasobu z otwartego pliku zasobu lub strumienia.

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.

resourceType
String

Gdy ta metoda zostanie zwrócona, zawiera ciąg reprezentujący nazwę typu pobranego zasobu. Ten parametr jest przekazywany jako niezainicjowany.

resourceData
Byte[]

Gdy ta metoda zostanie zwrócona, zawiera tablicę bajtów, która jest reprezentacją binarną pobranego typu. Ten parametr jest przekazywany jako niezainicjowany.

Wyjątki

resourceName to null.

resourceName nie istnieje.

resourceName ma nieprawidłowy typ.

Pobrane dane zasobów są uszkodzone.

Bieżący ResourceReader obiekt nie jest inicjowany, prawdopodobnie dlatego, że jest zamknięty.

Uwagi

Metoda GetResourceData pobiera wartość nazwanego zasobu jako tablicę bajtów. Jest on zwykle używany, gdy Value właściwość zgłasza wyjątek podczas próby pobrania wartości zasobu.

resourceType to ciąg reprezentujący typ danych zasobu. Może to być dowolna z następujących wartości:

  • Reprezentacja ciągu ResourceTypeCode elementu członkowskiego wyliczenia, który wskazuje typ danych zasobu. ResourceTypeCode to prywatna wyliczenie, która jest używana przez element ., aby wskazać, że specjalny format binarny jest używany do przechowywania jednego z 19 typowych typów danych. Należą do nich typy danych pierwotnych .NET Framework (Boolean, Byte, Int16DoubleDecimalInt32Int64SingleUInt16UInt32UInt64CharSBytei DateTimeStringTimeSpan, Ponadto ResourceTypeCode wyliczenie zawiera wartości przedstawione w poniższej tabeli.

    Wartość ResourceTypeCode Opis
    ResourceTypeCode.ByteArray Dane są tablicą bajtów. Ten typ danych często wynika z wywołania metody ResourceWriter.AddResource(String, Byte[]) .
    ResourceTypeCode.Null Dane są odwołaniem o wartości null. Ten typ danych często wynika z wywołania metody ResourceWriter.AddResource(String, Object) z obiektem, którego wartość to null.
    ResourceTypeCode.Stream Dane są przechowywane w strumieniu. Ten typ danych często wynika z wywołania metody ResourceWriter.AddResource(String, Stream) or ResourceWriter.AddResource(String, Stream, Boolean) .

    Zakładając, że resourceData nie została uszkodzona, zwykle można ją przekonwertować z tablicy bajtów z powrotem na oryginalną wartość, wywołując metodę BitConverter lub BinaryReader .

  • Ciąg zawierający w pełni kwalifikowaną nazwę typu, którego serializowane dane są przypisywane do argumentu resourceData (na przykład System.String). Ponadto w przypadku typów, które nie są częścią biblioteki klas platformy .NET, ciąg zawiera nazwę, wersję, kulturę i klucz publiczny zestawu, który zawiera typ. Na przykład następujący ciąg wskazuje, że dane serializowane reprezentują wystąpienie Person typu w Extensions przestrzeni nazw, która znajduje się w wersji 1.0 zestawu o nazwie Narzędzie, które nie ma klucza publicznego i nie określono kultury wyznaczonej.

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

  • Ciąg używany do opisywania typu danych w wywołaniu ResourceWriter.AddResourceData metody.

Dotyczy

Zobacz też