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 метода.