【问题标题】:How to add array type parameters in a function C#如何在函数C#中添加数组类型参数
【发布时间】:2020-11-06 20:41:11
【问题描述】:

我从 ASP.Net 中的一个项目开始,我有一个函数来执行登录,它有 userIdpassword 作为参数,但我需要创建一个数组参数,因为这将允许我使用不同的userId 和它们各自的password,我正在使用的函数如下:

public string Login(string sessionTicket, string dataSource, string userId, string password, int features) {
            object[] results = this.Invoke("Login", new object[] {
                        sessionTicket,
                        dataSource,
                        userId,
                        password,
                        features});
            return ((string)(results[0]));
        }

除了上述之外,我将在下面的方法中使用这个函数,我还要将参数xtUserxtPass转换成一个数组:

string sessionTicket = axServicesInterface.Login("",
            GlobalVariables.dataSource,GlobalVariables.xtUser, GlobalVariables.xtPass,
            Convert.ToInt32(EAxType.AxFeature_Basic));

登录功能参数图:

登录数组需要能够交替我每个请求的两个用户

更新:

尝试回答问题,但出现错误提示“上下文中不存在用户 ID”

public class LoginDetails
        {
            public string userId { get; set; }
            public string password { get; set }
        }

        public string Login(string sessionTicket, string dataSource, LoginDetails[] loginDetails, int features) {
            object[] results = this.Invoke("Login", new object[] {
                        sessionTicket,
                        dataSource,
                        userId,
                        password,
                        features});
            return ((string)(results[0]));
        }

他们知道我所做的是否符合我的需要,这就是我可以解决当前错误的方法。

【问题讨论】:

  • 您在更新中调用的方法很可能期望在userIdpassword 的集合上。迭代您为数组中的每个项目调用 Invoke 的新数组。
  • 我怀疑你会想要foreach 而不是loginDetails
  • @JonP 你能解释得更好吗
  • @SebastianSalazar 您现在将 LoginDetails 数组(我假设它已填充?)传递给“外部”方法,但从未在其中使用它。
  • 您的问题不太清楚:您想使用多组用户名和密码登录吗?为什么要使用 Invoke?如果希望使用字符串参数调用方法,则不能只传递一个数组并期望对数组中的每个值都执行它

标签: c# asp.net arrays


【解决方案1】:

请添加以下类(让您拥有多组用户名和密码):

public class LoginDetails {
    public string UserName { get; set; }
    public string Password { get; set }
}

那么不是传递string userId, string password,而是传递LoginDetails[] loginDetails作为参数。

【讨论】:

    猜你喜欢
    • 2014-05-03
    • 2011-10-08
    • 1970-01-01
    • 2020-12-26
    • 2021-04-22
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多