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[]

此方法返回时,包含一个字节数组,该字节数组为所检索类型的二进制表示形式。 此参数未经初始化即被传递。

例外

resourceNamenull

resourceName 不存在。

resourceName 具有无效的类型。

检索的资源数据已损坏。

当前 ResourceReader 对象未初始化,可能因其已被关闭。

注解

方法 GetResourceData 以字节数组的形式检索命名资源的值。 当 属性在尝试检索资源的值时 Value 引发异常时,通常会使用此属性。

resourceType 是表示资源的数据类型的字符串。 可以是以下任一值:

  • 枚举成员的 ResourceTypeCode 字符串表示形式,指示资源的数据类型。 ResourceTypeCode 是一个私有枚举,用于指示使用特殊二进制格式来存储 19 种常见数据类型之一。 其中包括.NET Framework基元数据类型 (BooleanByteCharDoubleInt16Int32Int64SingleDecimalUInt64UInt16SByteUInt32) 以及 StringDateTime、 和 TimeSpan。此外,ResourceTypeCode枚举还包括下表中显示的值。

    ResourceTypeCode 值 说明
    ResourceTypeCode.ByteArray 数据是字节数组。 此数据类型通常由调用 ResourceWriter.AddResource(String, Byte[]) 方法生成。
    ResourceTypeCode.Null 数据为空引用。 此数据类型通常是使用值为 null的对象调用 ResourceWriter.AddResource(String, Object) 方法的结果。
    ResourceTypeCode.Stream 数据存储在流中。 此数据类型通常是由调用 ResourceWriter.AddResource(String, Stream)ResourceWriter.AddResource(String, Stream, Boolean) 方法产生的。

    假设 resourceData 尚未损坏,通常可以通过调用 BitConverterBinaryReader 方法将其从字节数组转换回其原始值。

  • 一个字符串,其中包含类型的完全限定名称,其序列化数据分配给 resourceData 参数 (例如, System.String) 。 此外,对于不属于 .NET 类库的类型,字符串包括包含该类型的程序集的名称、版本、区域性和公钥。 例如,以下字符串指示序列化的数据表示命名空间中Extensions类型的实例,该实例Person位于名为 Utility 的程序集的 1.0 版中,该程序集没有公钥,也没有指定的区域性。

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

  • 用于描述方法调用中数据类型的 ResourceWriter.AddResourceData 字符串。

适用于

另请参阅