将特定值发送到 BinaryWriter
Send Specific Values to BinaryWriter
我在这里需要帮助,我 运行 没有想法。
我需要在下面的代码中做,以便能够从项目中选择一个文件(My.resources),而不是硬编码这一行
FSR.Write(My.Resources._1_5, 0, My.Resources._1_5.Length)
我希望能够传递一个选定的值,但我不能将 My.Resources._1_5
存储到一个字节变量中,它一直说不能将一维字节数组存储到字节中。 _1_5 是一个 doc 文件,我有一长串文件可供选择。
Dim TempFileName As String = "TMPDoc.doc"
Dim TempFolder As String = My.Computer.FileSystem.SpecialDirectories.Temp
Dim path As String = Application.StartupPath & "\"
TempFileName = path & TempFileName
Dim FS As New System.IO.FileStream(TempFileName, IO.FileMode.Create, FileAccess.Write)
Dim FSR As New System.IO.BinaryWriter(FS)
FSR.Write(My.Resources._1_5, 0, My.Resources._1_5.Length)
FSR.Close()
FS.Close()
appWord.Documents.Open(TempFileName)
不确定我是不是在解释自己。
如果最有可能的情况是 My.Resources._1_5
属性 作为字节数组公开,那么您可以简单地创建一个字节数组变量来指向它,如下所示:
Dim resource_1_5() As Byte = My.Resources._1_5
或者您可以创建字节数组列表并将其添加到列表中,如下所示:
Dim resources As New List(Of Byte())()
resources.Add(My.Resources._1_5)
但是,您可能真正想做的只是通过字符串名称访问资源,而不是通过具体的 属性。如果是这种情况,您可以通过 ResourceManager
按名称获取它,如下所示:
Dim resource_1_5() As Byte = DirectCast(My.Resources.ResourceManager.GetObject("_1_5", My.Resources.Culture), Byte())
请注意,在上面的示例中,GetObject
方法 returns 一个 Byte
数组,但它将其转换为 Object
。因此,您需要使用 DirectCast
或 CType
将其转换回 Byte
数组。
我在这里需要帮助,我 运行 没有想法。
我需要在下面的代码中做,以便能够从项目中选择一个文件(My.resources),而不是硬编码这一行
FSR.Write(My.Resources._1_5, 0, My.Resources._1_5.Length)
我希望能够传递一个选定的值,但我不能将 My.Resources._1_5
存储到一个字节变量中,它一直说不能将一维字节数组存储到字节中。 _1_5 是一个 doc 文件,我有一长串文件可供选择。
Dim TempFileName As String = "TMPDoc.doc"
Dim TempFolder As String = My.Computer.FileSystem.SpecialDirectories.Temp
Dim path As String = Application.StartupPath & "\"
TempFileName = path & TempFileName
Dim FS As New System.IO.FileStream(TempFileName, IO.FileMode.Create, FileAccess.Write)
Dim FSR As New System.IO.BinaryWriter(FS)
FSR.Write(My.Resources._1_5, 0, My.Resources._1_5.Length)
FSR.Close()
FS.Close()
appWord.Documents.Open(TempFileName)
不确定我是不是在解释自己。
如果最有可能的情况是 My.Resources._1_5
属性 作为字节数组公开,那么您可以简单地创建一个字节数组变量来指向它,如下所示:
Dim resource_1_5() As Byte = My.Resources._1_5
或者您可以创建字节数组列表并将其添加到列表中,如下所示:
Dim resources As New List(Of Byte())()
resources.Add(My.Resources._1_5)
但是,您可能真正想做的只是通过字符串名称访问资源,而不是通过具体的 属性。如果是这种情况,您可以通过 ResourceManager
按名称获取它,如下所示:
Dim resource_1_5() As Byte = DirectCast(My.Resources.ResourceManager.GetObject("_1_5", My.Resources.Culture), Byte())
请注意,在上面的示例中,GetObject
方法 returns 一个 Byte
数组,但它将其转换为 Object
。因此,您需要使用 DirectCast
或 CType
将其转换回 Byte
数组。