public void Configure(PluginConfiguration pluginConfiguration, out PluginInspector pluginInspector) { pluginInspector = new PluginInspector(this); try { ConfigurePlugin(pluginConfiguration, pluginInspector); } catch (Exception exception) { throw new PluginConfigurationException(new PluginInspectorExtrator(new List <PluginInspector> { pluginInspector }).ToString(), exception); } }
private static string ExtractInfo(PluginInspector pluginInspector) { var buffer = new StringBuilder(); var typeInfo = pluginInspector.GetPluginTypeInfo(); buffer.AppendLine("Plugin Info"); buffer.Append(typeInfo); var detailInfo = pluginInspector.GetPluginDetailInfo(); if (detailInfo.Length > 0) { buffer.AppendLine("Configuration Details"); buffer.Append(detailInfo); } buffer.AppendLine("============================================================================================="); return(buffer.ToString()); }
protected abstract void ConfigurePlugin(PluginConfiguration pluginConfiguration, PluginInspector pluginInspector);