我在report services(2008)报告中添加了对自定义程序集的引用。当我从文本框调用时(例如,= Assembly.Class.Function()),但是当我将它包装在自定义代码块中时,它工作得很好:

Function GetString(ByVal key as String) as String

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

end function

我收到构建错误“对非共享成员的引用需要对象引用。”。

C#类和函数是静态的。

作为测试,我还创建了一个类的非静态版本,创建了一个实例,并通过自定义代码中的实例名称访问它,但也没有运气。

是否可以从报告服务中的代码块调用自定义程序集?

有帮助吗?

解决方案 2

VS IDE仅在加载时加载程序集一次 - 因此每次进行程序集更改时都必须关闭/重新打开VS(删除引用并重置也不起作用)

你也可以同时使用静态调用和实例方法,它可以从嵌入代码中正常工作,例如:

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

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

其他提示

也许你是C#程序员? "共享"在VB中意味着静态。该消息意味着您需要创建该类的实例,以便调用该类的(实例)方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top