键入预期错误VB.Net

键入预期错误VB.Net,vb.net,Vb.net,请协助,我在基于windows的应用程序的代码中遇到“预期类型”错误。我在这行“Dim objSW As New StreamWriter(objFS)”上得到错误 问题是您已将项目命名为“StreamWriter”,这导致“StreamWriter”引用项目的名称空间。也许你将来应该使用更多更具描述性的项目名称,只是为了清楚起见 您可以通过使用命名空间引用真正的StreamWriter来解决此问题: Imports System.IO Public Class Form1 Privat

请协助,我在基于windows的应用程序的代码中遇到“预期类型”错误。我在这行“Dim objSW As New StreamWriter(objFS)”上得到错误


问题是您已将项目命名为“StreamWriter”,这导致“StreamWriter”引用项目的名称空间。也许你将来应该使用更多更具描述性的项目名称,只是为了清楚起见

您可以通过使用命名空间引用真正的StreamWriter来解决此问题:

Imports System.IO
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim strFileName As String = My.Application.Info.DirectoryPath & "\empout_fixed.txt"
        Using objFS As New FileStream(strFileName, FileMode.Create, FileAccess.Write)
         Using objSW As New System.IO.StreamWriter(objFS)
          Dim strEmpName As String
          Dim intDeptNbr As Integer
          Dim strJobTitle As String
          Dim dtmHireDate As Date
          Dim sngHrlyRate As Single
          strEmpName = “Thabo Lereko”
          intDeptNbr = 1001
          strJobTitle = “Junior Programmer”
          dtmHireDate = #10/05/2014#
          sngHrlyRate = 99.99
          ' Write out the record to the file ...
          objSW.WriteLine(strEmpName.PadRight(20) &
          intDeptNbr.ToString.PadLeft(4) &
          Space(5) &
          strJobTitle.PadRight(21) &
          Format(dtmHireDate, "M/d/yyyy").PadRight(10) &
          Format(sngHrlyRate, "Standard").PadLeft(5))
          MsgBox("Record was written to the output file.")              
         End Using
      End Using
    End Sub
End Class

Ps.添加了应始终与iDisposable对象一起使用的using语句。还删除了不必要的关闭调用。

为什么您认为不告诉我们错误发生在哪一行是个好主意?我在StreamWriter(objFS)上得到了这个错误,代码可以工作,只是测试了它,这样的错误不应该发生在那一行,问题是由于我们在您的问题中没有看到的其他原因。因此我们不能帮助你。另外,我想提醒您,FileStream和StreamWriter实现iDisposable,因此请始终对它们使用using语句。empout_fixed.txt:“Thabo Lereko 1001初级程序员10/5/2014 99.99”-测试实际工作,正如Esko saysMaybe所说,这是一个确切的例外,它的完整描述、堆栈跟踪、所有内容。。。它可能会指引我们你到底出了什么问题。非常感谢埃斯科
Imports System.IO
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim strFileName As String = My.Application.Info.DirectoryPath & "\empout_fixed.txt"
        Using objFS As New FileStream(strFileName, FileMode.Create, FileAccess.Write)
         Using objSW As New System.IO.StreamWriter(objFS)
          Dim strEmpName As String
          Dim intDeptNbr As Integer
          Dim strJobTitle As String
          Dim dtmHireDate As Date
          Dim sngHrlyRate As Single
          strEmpName = “Thabo Lereko”
          intDeptNbr = 1001
          strJobTitle = “Junior Programmer”
          dtmHireDate = #10/05/2014#
          sngHrlyRate = 99.99
          ' Write out the record to the file ...
          objSW.WriteLine(strEmpName.PadRight(20) &
          intDeptNbr.ToString.PadLeft(4) &
          Space(5) &
          strJobTitle.PadRight(21) &
          Format(dtmHireDate, "M/d/yyyy").PadRight(10) &
          Format(sngHrlyRate, "Standard").PadLeft(5))
          MsgBox("Record was written to the output file.")              
         End Using
      End Using
    End Sub
End Class