参数未声明。由于其保护级别,它可能无法访问

时间:2013-06-20 10:51:46

标签: .net wcf parameters

我有一个测试项目,其中包含对WCF服务的服务引用和包含服务代码的服务项目。它有一个参数,用于返回字符串值。

<OperationContract()> 
Function Action(parameter as String) As Boolean

在测试代码中,我声明了一个变量并将其传递给服务调用。调用完成后,将检查参数的值。

Dim parameter As String = String.Empty
Dim result As Boolean = service.Action(parameter)
Assert.IsTrue(result = True)
Assert.IsTrue(parameter.Length > 0)

当我第一次测试时,这个参数在调用服务后仍然是空的,所以我将By Ref添加到函数中,但现在当我在立即窗口中检查它的值时,我得到一个'parameter' is not declared. It may be inaccessible due to its protection level错误。

此错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

这是由简单的疏忽引起的。当我更改服务界面以将参数从隐含的'By Val'切换为明确的'By Ref'时,我没有在我的测试项目中更新服务引用

一旦我更新了服务参考,它就可以正常工作。