2009-06-19 164 views
1

我在報告服務(2008)報告中添加了對自定義程序集的引用。它的偉大工程,當我從一個文本框(例如,= Assembly.Class.Function())調用,但是當我將它包裝在一個自定義的代碼塊:從報告服務中的報告調用C#程序集

Function GetString(ByVal key as String) as String 

return Willow.Reporting.Localization.Resource.Get(User!Language, "WAR", "Title", key) 

end function 

我得到的生成錯誤「引用非共享成員需要一個對象引用。「

C#類和函數是靜態的。

作爲一個測試,我還創建了類的非靜態vrsion,創建了一個實例,並通過自定義代碼中的實例名稱訪問它,但沒有運氣。

是否有可能從報告服務中的代碼塊調用自定義程序集?

回答

0

的VS IDE加載程序集只有一次,在負荷 - 讓你不得不關閉/重新打開VS每次製作裝配變化時間(除去參考和復位沒有任何工作)

可以同時使用靜態調用和實例方法,並且它可以從嵌入代碼正常工作,例如:

Function Test() as String 
    return Instance.GetString() 
End Function 

Function Test2() as String 
    return WR.StaticTest.GetString() 
End Function 
0

也許你是C#程序員? VB中的「共享」意味着靜態。該消息意味着你需要創建一個類的實例,以便調用該類的(實例)方法。

+0

沒錯。正如我上面所說的,那也行不通。創建實例仍然會提供相同的消息。 無論是調用靜態方法還是通過實例調用它都可以在texbox級別正常工作,而不是通過自定義代碼窗口中的包裝函數。 – ericvg 2009-06-19 18:28:53

相關問題