/// <summary> /// Clones the supplied ProjectInvocationRule instances. /// </summary> private static ProjectInvocationRule[] GetClones(ProjectInvocationRule[] rules) { return rules == null ? null : rules.Select(r => r.Clone()).ToArray(); }
/// <summary> /// Returns a list of ProjectInvocationRule ids that cannot be changed. /// </summary> /// <remarks> /// A ProjectInvocationRule's id cannot be changed if this WorkbookRuntimeAdapter is already /// managing an execution slot for it. /// </remarks> private IList<int> GetImmutableIds(ProjectInvocationRule[] rules) { lock (m_ruleState) { return new List<int>(rules.Select(r => r.Id).Intersect(m_ruleState.Keys)); } }