自定义类型每次New出来都带有以前的参数
自定义类型每次New出来都带有以前的参数
自定义类型如下
public class M_USER_APIS
{
public M_USER_APIS() { }
private static string _id;
private static string _name;
private static string _password;
/// <summary>
/// 用户名
/// </summary>
public string ID
{
set { _id = value; }
get { return _id; }
}
/// <summary>
/// 用户名
/// </summary>
public string Name
{
set { _name = value; }
get { return _name; }
}
/// <summary>
/// 密码
/// </summary>
public string Password
{
set { _password = value; }
get { return _password; }
}
}
调用类型如下
for (int i = 0; i < 5; i++)
{
M_USER_APIS model = null;
model = new M_USER_APIS();
model.ID = "5";
B_USER_APIS bllUser = new B_USER_APIS();
DataTable dtUser = bllUser.GetList(model);
}
仅仅是举个例子,bllUser的功能是将Model非空的子类型进行条件查询。
我遇到的问题时,第一次new出modle后,modle所有的子类型都是null的。
但是再往后new出model,model除非一个一个赋值为null,否则都带有前一次的子类型的值。
这是怎么回事儿,怎样解决。 自定义类型 带参数
[解决办法]
remove "static" reserved word
[解决办法]
把static去掉
[解决办法]
static字段是属于整个类型的,你new的是一个具体的对象,你这样循环赋值,static中的字段是不会去掉的,去掉static