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


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, , ByteDoubleCharInt16DecimalInt32, SingleInt64SByteUInt16, , UInt32, ), UInt64а также String, DateTimeи TimeSpan. Кроме того, перечисление ResourceTypeCode включает значения, показанные в следующей таблице.

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

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

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

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

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

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

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