从函数返回参数

时间:2011-03-28 14:19:43

标签: asp.net

我有一个功能:

internal static void GetUserData(int userId, out string userName,
                                 out string userEmail, out string userPassword)
{

  using (SqlConnection con = Util.GetConnection())
  {
    con.Open();
    using (SqlCommand cmd = new SqlCommand("usp_UD_SelectById", con))
    {
      cmd.CommandType = CommandType.StoredProcedure;

      cmd.Parameters.Add("@UD_ID", SqlDbType.Int).Value = userId;
      cmd.Parameters.Add("@UD_UserName", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;
      cmd.Parameters.Add("@UD_Password", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;
      cmd.Parameters.Add("@UD_Email", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;


      cmd.ExecuteNonQuery();

      userName = Convert.ToString(cmd.Parameters["@UD_UserName"].Value);
      userEmail = Convert.ToString(cmd.Parameters["@UD_Email"].Value);
      userPassword = Convert.ToString(cmd.Parameters["@UD_Password"].Value);

    }
  }
}

和电话

string userEmail;
string userName;
string userPassword;
MemberHelper.GetUserData(userId, out userName, out userEmail, out userPassword);

有时候我需要从out参数中获取一个参数,当我想得到一个参数时如何调用该函数:

string userPassword;
MemberHelper.GetUserData(userId,"","",out userPassword);

1 个答案:

答案 0 :(得分:4)

你必须提供它们。 out参数不是可选的。您可以编写一个自定义重载,仅提供您需要的out参数。