Поделиться через


ResourceReader.GetResourceData(String, String, Byte[]) Метод

Определение

Извлекает имя типа и данные именованного ресурса из открытого файла ресурса или потока.

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

Параметры

resourceName
String

Имя ресурса.

resourceType
String

При возврате этого метода содержит строку, представляющую имя типа извлеченного ресурса. Этот параметр передается без инициализации.

resourceData
Byte[]

При возврате этого метода содержит массив байтов, который является двоичным представлением полученного типа. Этот параметр передается без инициализации.

Исключения

resourceName равно null.

resourceName не существует.

resourceName имеет недопустимый тип.

Полученные данные ресурса повреждены.

Текущий ResourceReader объект не инициализирован, вероятно, потому что он закрыт.

Комментарии

Метод GetResourceData извлекает значение именованного ресурса в виде массива байтов. Обычно оно используется, когда Value свойство создает исключение при попытке получить значение ресурса.

resourceType — это строка, представляющая тип данных ресурса. В качестве такой точки может выступать любой из следующих вариантов:

  • Строковое представление ResourceTypeCode элемента перечисления, указывающего тип данных ресурса. ResourceTypeCode — это частное перечисление, используемое .для указания того, что для хранения одного из 19 распространенных типов данных используется специальный двоичный формат. К ним относятся примитивные типы данных .NET Framework (Boolean, DecimalInt16DoubleCharInt32Int64SingleSByteUInt32ByteUInt64UInt16), а также DateTimeString, а TimeSpanтакже перечисление включает значения, показанные в следующей таблице.ResourceTypeCode

    Значение ResourceTypeCode Описание
    ResourceTypeCode.ByteArray Данные — это массив байтов. Этот тип данных обычно приводит к вызову ResourceWriter.AddResource(String, Byte[]) метода.
    ResourceTypeCode.Null Данные являются пустой ссылкой. Этот тип данных обычно приводит к вызову ResourceWriter.AddResource(String, Object) метода с объектом, значение которого равно null.
    ResourceTypeCode.Stream Данные хранятся в потоке. Этот тип данных обычно приводит к вызову или ResourceWriter.AddResource(String, Stream, Boolean) методуResourceWriter.AddResource(String, Stream).

    Если это resourceData не повреждено, обычно его можно преобразовать из массива байтов обратно в исходное значение путем вызова BitConverter метода или BinaryReader метода.

  • Строка, содержащая полное имя типа, сериализованные данные которого назначены аргументу resourceData (например, System.String). Кроме того, для типов, не входящих в библиотеку классов .NET, строка включает имя, версию, язык и региональные параметры и открытый ключ сборки, содержащей тип. Например, следующая строка указывает, что сериализованные данные представляют экземпляр Person типа в Extensions пространстве имен, который найден в сборке с именем служебной программы версии 1.0, которая не имеет открытого ключа и языка и региональных параметров.

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

  • Строка, используемая для описания типа данных в вызове ResourceWriter.AddResourceData метода.

Применяется к

См. также раздел