作者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/cn.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