ResourceReader.GetResourceData(String, String, Byte[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
ResourceTypeCodeelementu członkowskiego wyliczenia, który wskazuje typ danych zasobu.ResourceTypeCodeto 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, PonadtoResourceTypeCodewyliczenie zawiera wartości przedstawione w poniższej tabeli.Wartość ResourceTypeCode Opis ResourceTypeCode.ByteArrayDane są tablicą bajtów. Ten typ danych często wynika z wywołania metody ResourceWriter.AddResource(String, Byte[]) . ResourceTypeCode.NullDane 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.StreamDane 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
resourceDatanie 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ładSystem.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ąpieniePersontypu wExtensionsprzestrzeni 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=nullCiąg używany do opisywania typu danych w wywołaniu ResourceWriter.AddResourceData metody.