C#:创建对象之间的强引用,没有引用另一个对象

假设我有2个课,Foo和Bar.
Foo没有(并且不能)与Bar的关系.

但是,我想要一个吧台实例来保持活动,只要它的foo实例保持活着.
有没有办法这样做,没有foo实际引用吧?

谢谢,
公园

看看ConditionalWeakTable Class.

Enables compilers to dynamically attach object fields to managed objects.

它本质上是一个字典,其中键和值都是WeakReference,只要该键存活,该值就会保持活动.

例如,您可以定义一个

ConditionalWeakTable<Foo, Bar> table

并添加一个Foo / Bar对.只要对Foo实例的引用存在,Bar实例就会保持活动.您可以通过查看表来找到Foo实例的Bar实例.

翻译自:https://stackoverflow.com/questions/7899501/c-create-strong-reference-between-objects-without-one-referencing-the-other

转载注明原文:C#:创建对象之间的强引用,没有引用另一个对象