ResourceReader.GetResourceData(String, String, Byte[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从打开的资源文件或流检索指定资源的类型名称和数据。
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、Byte、Char、 DoubleInt16Int32Int64SingleDecimalUInt64UInt16SByteUInt32) 以及 String、DateTime、 和 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
尚未损坏,通常可以通过调用 BitConverter 或 BinaryReader 方法将其从字节数组转换回其原始值。一个字符串,其中包含类型的完全限定名称,其序列化数据分配给
resourceData
参数 (例如,System.String
) 。 此外,对于不属于 .NET 类库的类型,字符串包括包含该类型的程序集的名称、版本、区域性和公钥。 例如,以下字符串指示序列化的数据表示命名空间中Extensions
类型的实例,该实例Person
位于名为 Utility 的程序集的 1.0 版中,该程序集没有公钥,也没有指定的区域性。Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
用于描述方法调用中数据类型的 ResourceWriter.AddResourceData 字符串。