public SwMacroFeatureDefinition() { string provider = ""; this.GetType().TryGetAttribute <MissingDefinitionErrorMessage>(a => { provider = a.Message; }); m_Provider = provider; var svcColl = new ServiceCollection(); svcColl.AddOrReplace <IXLogger>(() => new TraceLogger($"xCad.MacroFeature.{this.GetType().FullName}")); svcColl.AddOrReplace <IIconsCreator>(() => new BaseIconsCreator()); ConfigureServices?.Invoke(this, svcColl); OnConfigureServices(svcColl); m_SvcProvider = svcColl.CreateProvider(); m_Logger = m_SvcProvider.GetService <IXLogger>(); CustomFeatureDefinitionInstanceCache.RegisterInstance(this); var iconsConv = m_SvcProvider.GetService <IIconsCreator>(); iconsConv.KeepIcons = true; iconsConv.IconsFolder = MacroFeatureIconInfo.GetLocation(this.GetType()); TryCreateIcons(iconsConv); }
public SwMacroFeatureDefinition() { string provider = ""; this.GetType().TryGetAttribute <MissingDefinitionErrorMessage>(a => { provider = a.Message; }); m_Provider = provider; var svcColl = new ServiceCollection(); svcColl.AddOrReplace <IXLogger>(() => new TraceLogger($"xCad.MacroFeature.{this.GetType().FullName}")); ConfigureServices(svcColl); m_SvcProvider = svcColl.CreateProvider(); m_Logger = m_SvcProvider.GetService <IXLogger>(); CustomFeatureDefinitionInstanceCache.RegisterInstance(this); TryCreateIcons(); }
/// <inheritdoc/> public void CreateCustomFeature <TDef, TParams, TPage>() where TParams : class, new() where TPage : class, new() where TDef : class, IXCustomFeatureDefinition <TParams, TPage>, new() { var inst = (TDef)CustomFeatureDefinitionInstanceCache.GetInstance(typeof(TDef)); inst.Insert(Document); }