作者powerD ( NN N )
看板C_Sharp
標題[問題] 具有指標功能的屬性?
時間Sun Jan 9 09:40:51 2022
C#類別屬性是否可以指向另一個不定類別屬性的位址
當另一個屬性變動時跟著變動
實現類似指標的功能
例如C直接用指標的話
Class P {
int* p;
}
Class A{
int a;
}
void Main()
{
P.p = &A.a;
}
當A.a變動時P.p可以取得最新的值
並且P.p可以指向不同的位址(B,C...etc)
請問在C#如何實作這樣的屬性?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.13.198 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1641692455.A.673.html
1F:→ ssccg: 如果你只是要能取值,用Func<TResult>存下 () => A.a 就好 01/09 11:00
2F:推 papayanun: 直接用unsafe呢 01/09 23:19
3F:推 Litfal: 除非你用unmanaged的方法去配置 不然你是沒有辦法取unsafe 01/10 00:03
4F:→ Litfal: 指標的 fixed也是離開作用域就失效了 01/10 00:04
5F:推 Litfal: 一樓的方法簡單有效 進階一點大概就另外包個類 依照需求選 01/10 00:11
6F:→ Litfal: 用WeakReference 避免一些類似memoryleak的狀況吧 01/10 00:12