[英]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.