清除对象变量
本文关键字:变量 对象 清除 | 更新日期: 2023-09-27 18:33:46
这是我的类名称。
class Designation
{
private string strDesigNo;
private string strDesigName;
private string strDesigDesc;
public string DesigNo
{
set { strDesigNo = value; }
get { return strDesigNo; }
}
public string DesigName
{
set { strDesigName = value; }
get { return strDesigName; }
}
public string DesigDesc
{
set { strDesigDesc = value; }
get { return strDesigDesc; }
}
}
在我的用户界面窗体中,单击"保存"按钮,我将值分配给我的部门类,然后将其发送到另一个类中的保存方法,如下所示。
private void btnSave_Click(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty(txtDesignationNumber.Text.Trim().ToString()))
{
if (!string.IsNullOrEmpty(txtDesignationName.Text.Trim().ToString()))
{
if(!string.IsNullOrEmpty(txtDesignationtDescription.Text.Trim().ToString()))
{
objDesignation.DesigNo = txtDesignationNumber.Text.Trim().ToString();
objDesignation.DesigName = txtDesignationName.Text.Trim().ToString();
objDesignation.DesigDesc=txtDesignationtDescription.Text.Trim().ToString();
objDesignationBLL.insertDesignation(objDesignation);
}
}
}
}
我需要的是将对象值发送到插入指定方法后立即清除所有值。
这意味着我需要它如下。
objDesignation.DesigNo ='';
objDesignation.DesigName = '';
objDesignation.DesigDesc = '';
是否有一种好的做法,在不释放对象或不将对象设置为 null 的情况下将这些对象变量值清空为 null?
如果要重置变量,只需分配一个新实例:
objDesignation = new Designation();
好吧,我建议对局部任务使用局部变量
Designation objDesignation = new ...
// Let's avoid arrow head antipattern:
// if any of Text is significant (i.e. has non-whitespace items)
// then insert a designation
if (new [] {
txtDesignationNumber.Text,
txtDesignationName.Text,
txtDesignationtDescription.Text}
.Any(c => !String.IsNullOrWhiteSpace(c)) {
// create and insert a Designation;
// there's no need to expose dsgn to the outer scope
var dsgn = new Designation() {
DesigNo = txtDesignationNumber.Text.Trim(),
DesigName = txtDesignationName.Text.Trim(),
DesigDesc = txtDesignationtDescription.Text.Trim()
};
objDesignationBLL.insertDesignation(dsgn);
}
// objDesignation hasn´t been changed
objDesignation...
这就是我重新构建该类的方式:
class Designation
{
public string Number { get;set; }
public string Name { get;set; }
public string Description { get;set; }
public void Clear()
{
this.Number = string.Empty;
this.Name = string.Empty;
this.Description = string.Empty;
}
}
我添加了方法Clear()
该方法在调用时应重置属性:
objDesignation.Clear()
我个人会再次刷新Designation
实例:
objDesignation = new Designation()
完成数据后。
顺便说一句,我建议您尽可能明确地使用变量名称。只是为了从长远来看更容易记住发生了什么。