如果基于提供给静态方法的参数在静态方法中检索实例变量,如果不同的调用者在完全相同的时间调用静态方法,是否可以使用实例变量? 我调用的方法定义如下,我想知道实例变量发票是否可以被破坏...任何澄清将非常感谢!
public static void SendInvoiceReceipt(int invoiceId, string recipientEmailAddress)
{
var invoice = ObjectFactory.GetInvoiceDAL().GetInvoiceByInvoiceId(invoiceId);
var htmlBody = BuildHtmlInvoiceReceipt(invoice);
var txtBody = BuildTextInvoiceReceipt(invoice);
UtilitiesManager.Emails.EmailUtil.Send(SiteConfigUtilities.GetSMTPServer(),
"referral@realtors.net", recipientEmailAddress, String.Empty,
"Payment Receipt", htmlBody, txtBody);
}
答案 0 :(得分:6)
invoice
是一个局部变量(不是“实例变量”)。它在堆栈上分配,每个线程都有自己的堆栈。另一个线程无法影响它。