重载方法,无效参数C#

Rya*_*ugh -1 c# asp.net

好吧,我正试图从VB转向C#并取得了成功.

我收到以下错误:

  1. '_DataInteraction.stdReturnDataTable(string,ref System.Collections.Generic.List,string)'的最佳重载方法匹配有一些无效的参数

  2. 必须使用'ref'关键字传递参数2

两者都引用:myParamList以** in表示

我在C#中有这段代码

{

    List<SqlParameter> myParamList = new List<SqlParameter>();
    SqlParameter myParam = default(SqlParameter);

    myParam = new SqlParameter("@sAMAccountName", SqlDbType.VarChar);
    myParam.Value = ID;
    myParamList.Add(myParam);

    **dt = _DI.stdReturnDataTable("cit_ResolveUser", myParamList, "x");**

    return dt;
}
Run Code Online (Sandbox Code Playgroud)

现在是stdReturnDataTable的代码(只是接受参数的顶部)

public static DataSet stdReturnDataset(string procedureName, ref List<SqlParameter> myParameters, string db)
    {
       //code
    }
Run Code Online (Sandbox Code Playgroud)

jer*_*enh 5

正如错误消息所示,您应该使用ref关键字传递参数:

dt = DataInteraction.stdReturnDataTable("cit_ResolveUser", ref myParamList, "ParabisIntranet");
Run Code Online (Sandbox Code Playgroud)

另外,根据你的评论,它是一个静态方法,你不能通过实例变量调用它.相反,您需要使用typename对其进行限定.

但我怀疑这里实际上不需要ref关键字,你可以将其从方法签名中删除.

public static DataSet stdReturnDataset(string procedureName, 
                                       List<SqlParameter> myParameters, 
                                       string db)
Run Code Online (Sandbox Code Playgroud)