簡體   English   中英

在另一個類或類庫中獲取ASPX頁面引用

[英]Get aspx Page reference in another class or class library

例如,我在Link.cs類中具有此方法, Link.cs於對Global.asax路由進行簡單的URL映射:

public static string ToCategory(string categoryName, ushort pageNumber, Page page)
{
    if (pageNumber == 1)
        return page.GetRouteUrl("category", new { CategoryName = categoryName });
    else
        return page.GetRouteUrl("category-page", new { CategoryName = categoryName, Page = pageNumber });
}

GetRouteUrl()方法是Page類的一部分,但是我將對象作為值傳遞,因此從理論上講,它復制了整個對象,並且比僅傳遞引用使用了更多的內存...還是我錯了? 這樣做是否有性能負擔? 謝謝。

作為方法參數傳遞的對象(又稱引用類型參數)始終作為對原始對象的引用傳遞,並且不會使用額外的內存。

請注意,這與將對象作為ref傳遞的概念不同, ref本質上是指向對象存儲位置的指針,可以通過方法修改該對象(例如,創建新類並將其分配給參數)。

另一方面,默認情況下,原始數據類型(例如int)是通過值傳遞的,因此會占用額外的內存。

該MSDN文檔包含更詳細的討論和示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM