/// <summary> /// Indicates that the operation should be considered complete after all of a set of /// messages are retrieved. /// </summary> /// <param name="operation">The operation to configure.</param> /// <param name="types">An array of types containing the message types that must be /// received for the operation to be considered complete.</param> public static void CompleteAfter(this IOperation operation, params Type[] types) { var typeNames = (types ?? Enumerable.Empty <Type>()) .Select(t => t.FullName) .ToArray(); operation.CompleteAfter(typeNames); }