public VirtualVault(IVault vault, VaultVisitor virtualizer, VaultVisitor materializer) { _vault = vault.AssertNotNull(); _virtualizer = virtualizer.AssertNotNull(); _materializer = materializer.AssertNotNull(); _vaultExposition = _vault.ExposeReadOnly(); _virtualizer.Visit(this, _vault); }
public EvalSession(IVault vault, IVault repository) { Vault = vault.AssertNotNull(); _expositions.Add(vault.ExposeReadOnly()); Repository = repository; if (repository != null) { _expositions.Add(repository.ExposeReadOnly()); } }
public virtual IVault Visit(IVault copyCat, IVault vault) { using (((VaultBase)copyCat).InternalExpose()) { using (vault.ExposeReadOnly()) { Visit(copyCat, vault.Root); return copyCat; } } }
public virtual IVault Visit(IVault copyCat, IVault vault) { using (((VaultBase)copyCat).InternalExpose()) { using (vault.ExposeReadOnly()) { Visit(copyCat, vault.Root); return(copyCat); } } }
public static IDisposable ExposeReadOnly(this IVault vault) { int aux1, aux2; return(vault.ExposeReadOnly(out aux1, out aux2)); }