/// <summary> /// Creates restricted scope on the data in the workspace. It does not provide separate isolation of sub workspace, but makes access to this workspace directly. /// </summary> /// <typeparam name="T">Type of sub-object</typeparam> /// <param name="del">Delegate which selects the root object of sub workspace</param> /// <returns>Workspace of restricted scope</returns> public IWorkspace <T> SubWorkspace <T>(NavigateChildDelegate <T> del) { return(new SubWorkspaceImpl <T, TDataType>(this, del)); }
/// <summary> /// Creates new instance of SubWorkspace type /// </summary> /// <param name="parentWorkspace">Parent workspace</param> /// <param name="del">Delegate which returns root object from the parent</param> public SubWorkspaceImpl(IWorkspace <TParentDataType> parentWorkspace, NavigateChildDelegate <TDataType> del) { this.parentWorkspace = parentWorkspace; this.del = del; }