2009-06-19 101 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

相关问题