我只需要另一雙眼睛...我沒有看到以下任何錯誤。事實上,我發誓我不久前就有過這樣的事情,並且它很有效。C#編譯器說功能沒有定義,當它是
在我Collections.dll:
namespace Collections
{
public class CSuperAutoPool
{
public static CSuperAutoPool ActivateByType(Type typeToBeActivated, params object[] activatedArguments)
{
//...
}
}
}
在另一個DLL中,我引用的DLL的集合項目,並在此函數中使用它:
namespace Organization
{
public class CBaseEntity : CSuperAutoPool
{
protected static CBaseEntity Create()
{
//...
CBaseEntity created = (CBaseEntity)CSuperAutoPool.ActivateByType(callingType); //Error here.
//...
}
}
}
錯誤: 'Collections.CSuperAutoPool'不包含'ActivateByType'的定義
我已經在CSuperAutoPool中使用了ActivateByType在不同的函數中,並且沒有錯誤。集合DLL編譯沒有錯誤。在存在組織名稱空間的同一個DLL中,以其他方式使用了CSuperAutoPool類的各種其他方面,而沒有編譯器錯誤。
它看起來像你用兩個參數聲明函數,然後用一個參數調用它。我發現你有'params'作爲可選參數,但是我不確定 - 如果你不需要任何附加參數(我不經常使用這個特性),你是否必須通過'null'? – FrustratedWithFormsDesigner 2010-08-04 17:40:49
@FrustratedWithFormsDesigner:不,你不需要傳遞null。 – 2010-08-04 17:41:31
@FrustratedWithFormsDesigner - 當一個參數被標記爲「params」時,在調用該方法時忽略它是沒問題的。 – Greg 2010-08-04 17:43:47