[問題] 有方法取得正被引用的次數?

看板C_Sharp (C#)作者 (小豬頭)時間8年前 (2017/04/11 11:13), 8年前編輯推噓5(5020)
留言25則, 8人參與, 最新討論串1/2 (看更多)
大家好,想請教一下,我有一個class A, a = new A(), b = a, c = a,..... 想請問一下,有辦法知道 new A() 被幾個引用嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.44.4 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1491880389.A.229.html

04/11 12:51, , 1F
vs 2015 2017有这个功能
04/11 12:51, 1F

04/11 16:25, , 2F
尋找所有參考
04/11 16:25, 2F

04/11 18:21, , 3F
他是指instance被strong reference的次數吧?這有辦法拿嗎
04/11 18:21, 3F
恩,我想取得被strong reference的次數...

04/11 18:32, , 4F
離題,object d = (object) A;
04/11 18:32, 4F

04/11 18:33, , 5F
糟了,應該要小寫
04/11 18:33, 5F
請問這是啥意思???^^" ※ 編輯: lovecold (122.117.44.4), 04/11/2017 19:19:38

04/11 20:25, , 6F
.NET CLR根本沒有用reference count,沒有地方取得
04/11 20:25, 6F

04/12 19:36, , 7F
就是向上轉型成為最上層的物件,這樣也會被計數嗎? 就
04/12 19:36, 7F

04/12 19:36, , 8F
只是這樣的一個問題。 話說,gc應該知道有沒有人只到吧
04/12 19:36, 8F

04/12 19:36, , 9F
? 不然怎麼知道該不該回收了?
04/12 19:36, 9F

04/12 20:36, , 10F
會知道有沒有人指到,但不會去算幾個指到
04/12 20:36, 10F

04/12 20:48, , 11F
知道該不該釋放(0/1)和知道計數是不同的。而且這應該在
04/12 20:48, 11F

04/12 20:49, , 12F
application's roots,目前是沒有辦法透過語法直接拿的
04/12 20:49, 12F

04/12 20:53, , 13F
用WinDbg說不定有辦法dump出來
04/12 20:53, 13F

04/13 09:22, , 14F
設個變數丟回去? 或者用session 存起來?
04/13 09:22, 14F

04/13 14:06, , 15F
04/13 14:06, 15F

04/13 15:06, , 16F
ㄟ 原PO問題好像跟連結意思不太相同
04/13 15:06, 16F

04/13 15:07, , 17F
但感覺原PO其實要問的是連結的問題
04/13 15:07, 17F

04/13 15:08, , 18F
因為搞不太懂原PO提的這問題到底確切應用為何?
04/13 15:08, 18F

04/13 15:09, , 19F
反來是某CLAS被實體化次數資訊好像還有意義些
04/13 15:09, 19F

04/13 15:09, , 20F
原PO的問題是某被實體化物件被參考的次數
04/13 15:09, 20F

04/13 16:03, , 21F
嗯 原PO問的是reference count,樓上那篇是instance count
04/13 16:03, 21F

04/13 18:52, , 22F
也就是說,一個是數 類別實例化 幾次,一個是數 有幾個
04/13 18:52, 22F

04/13 18:52, , 23F
指標 指到該實例化的物件
04/13 18:52, 23F

04/14 17:47, , 24F
一樓說的是有列出所有指標值的功能嗎?
04/14 17:47, 24F

04/18 11:43, , 25F
今天不小心看到的 goo.gl/uVoUyz
04/18 11:43, 25F
文章代碼(AID): #1Ox4d58f (C_Sharp)
文章代碼(AID): #1Ox4d58f (C_Sharp)