正如上面的评论所解释的,这最终不是一个封闭范围的问题。下面是一些带有“解决方案”的简化代码。
public class B
{
void MyMethod()
{
var instanceA = new A();
var someRefType = new RefType();
someRefType.DoSomething();
someRefType.DoSomethingLater(a => instanceA.ModifyRefType(someRefType));
}
}
public class A
{
private Action<object> _action;
public void ModifyRefType(Action<object> action)
{
this._action = action;
}
public void DoModify(object configuration)
{
this._action?.Invoke(configuration);
}
}
总结:相同
instanceA
被(不小心)用于
instanceA.ModifyRefType()
这意味着这个行动使用的是相同的结束语,它围绕着
someRefType
和
英典
.
谢谢你的帮助!