2012-12-11 40 views
4
Dim lstNum As New List(Of Integer)(New Integer() { 3, 6, 7, 9 }) 

當我輸入上面的代碼行,Visual Studio中告訴我一個錯誤無法在VB.NET中聲明列表?

「Microsoft.Office.Interop.Word.List」沒有類型參數,因此不能有類型參數。

究竟是什麼意思,我該如何解決?我似乎無法創建任何形式的列表。我假設我錯過了某種導入,但我不太熟悉VB.Net足以知道要嘗試什麼。

+1

你不會錯過導入,它似乎有一個額外的'Microsoft.Office.Interop.Word' – Kratz

+0

我沒有宣佈;也許因爲我沒有進口它選擇了它在列表中找到的第一個 - 微軟出現在進口清單中的系統之前... – redhotspike

+1

順便說一句,我敢打賭你「有進口申報」,但沒有意識到這一點,因爲「聲明」在你的VB項目的屬性,引用標籤,「導入的名稱空間」。這適用於項目中的所有.vb文件。 (我提到這一點,以防將來的讀者不知道他們應該看看那裏。)去那裏,UNCHECK微軟... Word。然後將Word添加到需要它的文件。 – ToolmakerSteve

回答

8

使用Generic.List而不是List。

Dim lstNum As New Generic.List(Of Integer)(New Integer() { 3, 6, 7, 9 }) 

由於您已導入Word interop,因此它正在嘗試查找Word.List。指定Generic.List將會告訴它不在該導入之外。

+0

謝謝!而已! (這讓我等待11分鐘才能接受,但這會被接受) – redhotspike

+2

更具體地說,確保您導入和/或別名System.Collections.Generic命名空間。除非他導入了System.Collections,否則Generic.List將不一定工作。 – Krypes

+0

不確定的情況,但我不必導入System.Collections.Generic。也許是因爲我使用ASP.NET? –

4

嘗試增加System.Collections.Generic

Dim lstNum As New System.Collections.Generic.List(Of Integer)(New Integer() { 3, 6, 7, 9 }) 
0

要麼你使用的不是List昏暗lstNum作爲新Generic.List(整數)Generic.list(新的整數(){3,6,7,9})或你只需導入System.Collections.Generic命名空間,兩種方法都可以,但如果我必須一次又一次地使用列表,我會選擇後者。 。