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
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, PonadtoResourceTypeCode
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ł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ąpieniePerson
typu wExtensions
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.