void definitions_DefinitionResolving(object sender, DefinitionEventArgs e) { if (e.AffectedItem != null) { var t = GetTemplate(e.AffectedItem); if (t != null) e.Definition = t.Definition; } }
void definitions_DefinitionResolving(object sender, DefinitionEventArgs e) { if (e == null) throw new ArgumentNullException("e"); if (e.AffectedItem != null) { var t = GetTemplate(e.AffectedItem); if (t != null) e.Definition = t.Definition; } }
/// <summary>Gets item definition for a certain discriminator.</summary> /// <param name="discriminator">The discriminator/name that uniquely identifies a certain type.</param> /// <returns>The definition matching the string.</returns> public virtual ItemDefinition GetDefinition(string discriminator) { if (discriminator == null) { throw new ArgumentNullException("discriminator"); } var definitionTemplatePair = discriminator.Split('/'); var e = new DefinitionEventArgs(); if (definitionTemplatePair.Length > 1) { foreach (ItemDefinition definition in GetDefinitions()) { if (definition.Discriminator == definitionTemplatePair[0] && definition.TemplateKey == definitionTemplatePair[1]) { e.Definition = definition; } } } else { foreach (ItemDefinition definition in GetDefinitions()) { if (definition.Discriminator == discriminator) { e.Definition = definition; } } } if (DefinitionResolving != null) { DefinitionResolving(this, e); } return(e.Definition); }