嘿,我有一个来自第三方DLL的基类,它依赖于一次性的.Context: IDisposable
个
public class BaseValidator
{
public BaseValidator(Context context) {}
}
我们正试图摆脱将类与这些依赖项Bundle 在一起.所以我们开始转而依赖供应商
public interface IContextProvider
{
Context Create();
}
我正在编写一个新的验证器,它继承了BaseValidator,但我希望它依赖于IContextProvider
.所以我想在继承的构造函数中创建上下文,但我想在析构函数中处理它以防止内存泄漏,但是我不确定这是否可能.
public class EntityValidator: BaseValidator
{
public EntityValidator(IContextProvider provider) : base(provider.Create())
{
}
~EntityValidator()
{
//I'm not how I can dispose the entity I've passed into it.
}
}
我的问题是,有没有什么技巧可以用来捕获传递到基数中的变量?
Note:我知道我可以通过外部助手类来解决问题,但我很感兴趣的是,是否有人知道如何以一种更明智的方式做到这一点.