3

下面是我正在使用的代码片段。

using System;
using System.Collections.Generic;
using System.Text;

namespace businessTMS
{
    public class SignIn
    {
        public string authenticate(String UserName, String password)
        {  
            dataTMS.SignIn data = new dataTMS.SignIn();
          string authenticate=(string)data.authenticate(UserName, password);
            return authenticate;
        }

    }
}
4

3 回答 3

18

由于这一行,您的错误正在发生:

string authenticate = (string)data.authenticate(UserName, password);

您将身份验证设置为等于返回布尔值的真/假计算。试试这个。

string authenticate = data.authenticate(UserName, password).ToString();

您还可以通过执行以下操作修改代码以仍然返回字符串:

bool authenticate = data.authenticate(UserName, password);
return authenticate.ToString();

首选选项:
此外,我不确定您为什么要返回 true/false (bool) 的字符串表示形式……如果这是我的函数,我可能会返回:

return data.authenticate(UserName, password);

我强烈建议您在 PREFERRED OPTION 区域中简单地返回布尔值。没有明显的理由将其保留为字符串格式。

于 2009-07-15T05:03:38.257 回答
2

使用 Boolean.ToString 方法(可以在此处找到文档),如下所示:

using System;
using System.Collections.Generic;
using System.Text;

namespace businessTMS
{
    public class SignIn
    {
        public string authenticate(String UserName, String password)
        {  
            dataTMS.SignIn data = new dataTMS.SignIn();

            return data.authenticate(UserName, password).ToString();
        }

    }
}
于 2009-07-15T05:04:51.420 回答
0

我收到错误消息“无法将类型 'bool' 转换为 'string'”,但我的代码中出现错误的行不是该消息的原因。

我无意中从前几行函数调用中删除了最后一个参数,这应该是一个布尔值,并且没有关闭括号。

于 2019-05-15T09:37:20.250 回答