簡體   English   中英

`1 在堆棧跟蹤中的意義

[英]Significance of `1 in Stack Trace

堆棧跟蹤中的 1 有什么意義?

   at Default.Process() in Default.cs:line 19
   at Framework.BasePage.ProcessRequest(HttpContext context) in BasePage.cs:line 82
   at Framework.Endpoint`1.Page[T](HttpContext context) in Endpoint.cs:line 44
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

第三行:端點`1

它是通用arguments的數量(或數量)。

原因是您可以擁有多個具有相同名稱的類,但具有不同數量的泛型參數。 例如:

class Foo {}
class Foo<TKey> {}
class Foo<TKey, TValue> {}

為了區分它們,公共語言運行時指定了泛型類型后綴為泛型 arguments 數量的規則。 非泛型類型不需要這個,所以它們的名字被編碼為:

Foo
Foo`1
Foo`2

還有一些其他的“魔法”字符被使用。 例如,名稱中的+用於表示內部/嵌套 class。 所以:

class Foo
{
  class Bar
  {
  }
}

會導致Bar被編碼為Foo+Bar

暫無
暫無

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

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