vb.net ни один экземпляр объекта не исчезнет даже после приведения - PullRequest
1 голос
/ 28 февраля 2012

У меня есть следующий код, который проходит через файл Excel, и это прекрасно работает

Обратите внимание, что следующая строка работает хорошо (папка устанавливается в коде ранее)

Console.WriteLine("Value found in {1}: {0} ", Obj.Text, folder)

всего

For Each xlWorkSheet In xlWorkBook.Worksheets
    For rCnt As Integer = 2 To xlWorkSheet.UsedRange.Rows.Count 'we start at 2 becuase we do not need the first header row

        For cCnt As Integer = 1 To xlWorkSheet.UsedRange.Columns.Count

            Dim Obj As Range = CType(xlWorkSheet.UsedRange.Cells(rCnt, cCnt), Range)

            Console.WriteLine("Value found in {1}: {0} ", Obj.Text, folder)

        Next


        RaiseEvent ImportChanged()
    Next

Next

Но я хотел бы заполнить словарь элементами, но в тот момент, когда я это делаю, он жалуется, что он "не является экземпляром объекта", даже если я приведу его к Cstr () или использую .toString

Кто-нибудь знает почему?

Dim EntryDetails As Dictionary(Of String, String)

        For Each xlWorkSheet In xlWorkBook.Worksheets
            For rCnt As Integer = 2 To xlWorkSheet.UsedRange.Rows.Count 'we start at 2 becuase we do not need the first header row

                For cCnt As Integer = 1 To xlWorkSheet.UsedRange.Columns.Count

                    Dim Obj As Range = CType(xlWorkSheet.UsedRange.Cells(rCnt, cCnt), Range)

                    Console.WriteLine("Value found in {1}: {0} ", Obj.Text, folder)
                    EntryDetails.Add("demo", Obj.Text) ' THIS DOESNT WORK
                    EntryDetails.Add("demo", Obj.Text.ToString) ' THIS DOESNT WORK
                    EntryDetails.Add("demo", CStr(Obj.Text)) ' THIS DOESNT WORK

                Next


                RaiseEvent ImportChanged()
            Next

        Next

1 Ответ

3 голосов
/ 28 февраля 2012

Вы не создали фактический экземпляр EntryDetails

Добавьте ключевое слово New в первую строку, чтобы вызывался конструктор:

Dim EntryDetails As New Dictionary(Of String, String)

For Each xlWorkSheet In xlWorkBook.Worksheets
    // ...
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...