2012-10-10 77 views
0

我在Visual Studio中開發的asp.net 2.0網站中引用了一個dll。提供dll的人說引用它並實例化一個名爲Subjects的類。實例化一個類 - 沒有重載方法'主題'需要'0'參數

我已經提到它,如果我輸入:

Subjects mySubjects = new Subjects(); 

這似乎是「發現」作爲「主體」出現在淡藍色的文字。

如果我再嘗試寫這篇訪問方法:再次

string ProjectSubject = mySubjects.GetSubject(ProjectID); 

,似乎在智能感知被「發現」,只要你鍵入mySubjects後句號顯示可用的方法被稱爲。

到目前爲止,這麼好。但是,當我嘗試運行該頁面時,出現編譯錯誤:

方法「主題」沒有重載需要0個參數。

我不明白。我想你總是要引用類

someClass myClass = new someClass(); 
+1

它看起來像主題沒有一個沒有參數的構造函數 –

+0

主題如果它不需要參數會產生這個錯誤信息,這是正常的期望的異常/錯誤 – MethodMan

+0

有可能是構造函數需要你傳入參數。通常情況下,Intellisense會在輸入你的密碼時讓你知道。嘗試右鍵單擊'主題'並選擇「轉到Decleration」。 – MyCodeSucks

回答

3

無重載方法「主題」取0參數。

這意味着沒有爲Subjects定義的無參數構造函數。當您輸入最初的左括號時,智能感知應顯示可能的選項,否則請在對象瀏覽器中查看該類以查看可能的構造函數(可能超過1個)。

也可能有no定義在該類上的公共構造函數,但是這不太可能,因爲作者告訴你「實例化一個主題的實例」。同樣,對象瀏覽器應該告訴你什麼是可用的。

+0

也有可能唯一的構造函數是private/internal/protected,在這種情況下,你將不能構造一個(顯式)。 – Servy

+0

@Servy - 真的,我會更新與該信息的答案。雖然不太可能,因爲筆者曾經對OP進行實例化 – Jamiec

+0

如果構造是私人的錯誤將'主題()無法訪問由於其保護level' – Archer

0

顯然,主題的構造函數需要一個參數。

我顯然不知道你是否有任何文件爲您的程序集或不。

但是,您應該能夠使用Visual Studio的「對象瀏覽器」功能來檢查類型,並從那裏計算出它需要的參數類型。

+0

在對象瀏覽器它表明: 科目(nameofdll.Configuration) ; 在配置下顯示Api.key和域。 –

相關問題