Изображение ошибкиПомогите, я получаю ошибку «Тип ожидается» в моем коде для приложения на базе Windows. Я получаю сообщение об ошибке "Dim objSW As New StreamWriter (objFS)"
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"
Dim objFS As New FileStream(strFileName, FileMode.Create, FileAccess.Write)
Dim objSW As New 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.")
objSW.Close()
End Sub
End Class
Я получаю эту ошибку в StreamWriter (objFS)
Этот код работает, просто протестировал его, и такой ошибки не должно быть в этой строке, проблема связана с чем-то еще, чего мы не видим в вашем вопросе. Следовательно, мы не можем вам помочь. Также я хотел бы напомнить вам, что FileStream и StreamWriter реализуют iDisposable, поэтому всегда используйте с ними using-statement.
empout_fixed.txt: "Thabo Lereko 1001 Junior Programmer 10/5/2014 99.99" - Протестировано, действительно работает, как говорит Эско.
Может быть, дайте нам ТОЧНОЕ исключение, это полное описание, трассировку стека, все ... Это может помочь нам понять, что у вас идет не так.
Спасибо, постараюсь прикрепить картинку
Я добавил изображение
Перезапустите Visual Studio.





Проблема в том, что вы назвали ваш проект "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
Пс. Добавлены операторы using, которые всегда следует использовать с объектами iDisposable. Также удален ненужный вызов.
Большое спасибо, Эско
Почему вы подумали, что было бы неплохо не сообщать нам, в какой строке возникает ошибка?