public string GetTemplate(ReportTemplate template) { if (!template.IsValid()) { throw new ArgumentException($"The { nameof(ReportTemplate) } provided must be a valid enum.", nameof(template)); } if (Cache.TryGetValue(template, out var cachedTemplate)) { return(cachedTemplate); } var resource = GetResource(template); var templateStr = GetResourceAsString(resource); Cache.TryAdd(template, templateStr); return(templateStr); }