我正在用C#编写代码。请参阅下面的代码。C#对象分配
//-- Constructor
public frmInvoice(EditInvoice editInvoice)
{
InitializeComponent();
originalInfo = new EditInvoice();
editedInfo = new EditInvoice();
originalInfo = editInvoice;
editedInfo = editInvoice;
payment = new Payment();
}
//-- Process
private void btnOk_Click(object sender, EventArgs e)
{
editedInfo.AppliedAmount = Convert.ToDouble(txtAppliedAmount.Text);
editedInfo.PaymentCode = cboPaymentCode.SelectedValue.ToString();
editedInfo.Remarks = txtRemarks.Text;
if (originalInfo.AppliedAmount != editedInfo.AppliedAmount ||
originalInfo.PaymentCode != editedInfo.PaymentCode ||
originalInfo.Remarks != editedInfo.Remarks)
{
editedInfo.IsEdited = true;
}
}
现在的问题是,为什么原来的对象**originalInfo**
也改变是认为不会。它很烦人!
附加信息:如果有差异,是否有更好/最短的方式与对象(模型)进行比较?
是否是'editInvoice'的引用类型? – Sayse 2014-09-01 06:36:04
不,它不是一个参考类型 – Bryan 2014-09-01 06:37:55
它可能是...不是一个类? – 2014-09-01 06:38:36