一个关于参数传递的问题!(C#)

来源:百度知道 编辑:UC知道 时间:2024/05/12 09:28:55
//先看下这个类:
public class Users
{
private int _userid;
private string _username;
private string _userpwd;

public int UserId
{
get { return this._userid; }
set { this._userid = value; }
}
public string UserName
{
get { return this._username; }
set { this._username = value; }
}
public string UserPwd
{
get { return this._userpwd; }
set { this._userpwd = value; }
}

public Users()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

public Users(int UserId,string UserName,string UserPwd)
{
this._userid = UserId;
this._username = UserName;
this._userpwd = UserPwd;
}

public Users(SqlDataReader Dr)
{
this._userid = Convert.ToInt32(Dr["userid"]);

这个挺简单的。
当类一加载的时候,构造函数先调用,把当前的用户userid,name,pwd 得用set存到三个属性中。最后你删除的时候,把这个类的对像带过来,那么对像在构造函数的时候已经存值了。所以说你的userid 就应该=singleUser.UserId .

因为你构造函数有这样一个操作
this._userid = Convert.ToInt32(Dr["userid"]);
this._username = Dr["UserName"].ToString();
this._userpwd = Dr["UserPwd"].ToString();

这个操作就是把当前GridView中编辑的行的值存到这三个属性中。
你想想,你当前传一个ID,带过去删除你能懂。你再把当前这个ID放到类中的一个属性里.删除的时候把这个类的对像带去去,然后用"类对像.属性名",这个操作是不是相当于就是带的一个ID呢,只是换了种方式来操作而已。这样应该能懂了吧。

我是新手,不大明白你的意思,我觉得传一个userid就OK了,何必传一个对象,这个userid从GridView的行中的绑定userid的单元格中获得,然后传到这个方法里,把它给存储过程的userid参数,然后执行数据库中的存储过程就OK了