这是我的班级名称。
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; }
}
}
在我的用户界面表单中单击“保存”按钮我将值分配给我的Department类,然后将其发送到另一个类中的save方法,如下所示。
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);
}
}
}
}
//我需要的是在将对象值发送到insertDesignation方法后立即清除所有值。
//这意味着我需要它如下。
objDesignation.DesigNo ='';
objDesignation.DesigName = '';
objDesignation.DesigDesc = '';
是否有一个很好的做法是在不放置对象或不将对象设置为null的情况下将这些对象变量值清空为null?
答案 0 :(得分:14)
如果要重置变量,可以只分配一个新实例:
objDesignation = new Designation();
答案 1 :(得分:1)
这就是我重新构建该类的方法:
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()
完成数据后。
顺便说一句,我建议你尽可能明确地使用变量名。因此,从长远来看,记住发生的事情会更容易。
答案 2 :(得分:1)
好吧,我建议将本地变量用于本地任务
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...