PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ارجاع صحیح به اشیا در دات نت



آبجی
14th February 2010, 01:05 AM
تکه کد ذیل رو در نظر بگیرید: if (Cache["myCache"] != null)
{
int numRows = ((DataTable)Cache["myCache"]).Rows.Count;
//…..
}
در کد فوق دو ارجاع به Cache ایجاد شده.
در دات نت هیچ وقت تضمینی وجود نداره که با دو ارجاع به یک شی (حتی بلافاصله پشت سر هم) اون شی وجود داشته باشه.
ممکنه GC بلافاصله بعد از فراخوانی اول، Cache رو null کنه و یا اگر برای Cache مقدار absoluteExpiration تعیین کرده باشید Cache از بین بره.
در نتیجه یک فراخونی صحیح می تونه با یک ارجاع و به شکل ذیل باشه:
DataTable myDT = Cache["myCache"] as DataTable;
if (myDT != null)
{
int numRows = myDT.Rows.Count;
//…..
}
این نکته برای ارجاع به تمامی اشیا در دات نت صادق هست.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد