题
我在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中意味着静态。该消息意味着您需要创建该类的实例,以便调用该类的(实例)方法。
不隶属于 StackOverflow