Browse Source

Move IServiceProvider extension methods from ICSharpCode.Core to ICSharpCode.SharpDevelop.

newNRvisualizers
Daniel Grunwald 14 years ago
parent
commit
8d7f940f77
  1. 4
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs
  2. 32
      src/Main/Base/Project/Src/Util/ExtensionMethods.cs
  3. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs
  4. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/Condition.cs
  5. 2
      src/Main/Core/Project/Src/AddInTree/AddIn/Runtime.cs
  6. 4
      src/Main/Core/Project/Src/AddInTree/AddInManager.cs
  7. 8
      src/Main/Core/Project/Src/AddInTree/AddInTree.cs
  8. 6
      src/Main/Core/Project/Src/AddInTree/CoreStartup.cs
  9. 8
      src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs
  10. 2
      src/Main/Core/Project/Src/Services/LoggingService/LoggingService.cs
  11. 2
      src/Main/Core/Project/Src/Services/MessageService/MessageService.cs
  12. 2
      src/Main/Core/Project/Src/Services/PropertyService/PropertyService.cs
  13. 2
      src/Main/Core/Project/Src/Services/PropertyService/PropertyServiceImpl.cs
  14. 2
      src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs
  15. 26
      src/Main/Core/Project/Src/Services/ServiceSingleton.cs
  16. 10
      src/Main/Core/Project/Src/Services/StringParser/StringParser.cs
  17. 2
      src/Main/ICSharpCode.Core.Presentation/LanguageChangeWeakEventManager.cs
  18. 4
      src/Main/ICSharpCode.Core.Presentation/Menu/MenuCommand.cs
  19. 2
      src/Main/ICSharpCode.Core.Presentation/PresentationResourceService.cs
  20. 2
      src/Main/ICSharpCode.Core.Presentation/ToolBar/ToolBarButton.cs
  21. 2
      src/Main/ICSharpCode.Core.WinForms/Menu/MenuCommand.cs
  22. 2
      src/Main/ICSharpCode.Core.WinForms/ToolBar/ToolBarCommand.cs
  23. 2
      src/Main/ICSharpCode.Core.WinForms/ToolBar/ToolBarService.cs
  24. 2
      src/Main/ICSharpCode.Core.WinForms/WinFormsResourceService.cs

4
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs

@ -8,14 +8,16 @@ using System.Windows.Controls; @@ -8,14 +8,16 @@ using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Editing;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Editor;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Widgets.MyersDiff;
using ICSharpCode.NRefactory.Editor;
namespace ICSharpCode.AvalonEdit.AddIn
{

32
src/Main/Base/Project/Src/Util/ExtensionMethods.cs

@ -677,6 +677,38 @@ namespace ICSharpCode.SharpDevelop @@ -677,6 +677,38 @@ namespace ICSharpCode.SharpDevelop
}
#endregion
#region Service Provider Extensions
/// <summary>
/// Retrieves the service of type <c>T</c> from the provider.
/// If the service cannot be found, this method returns <c>null</c>.
/// </summary>
public static T GetService<T>(this IServiceProvider provider) where T : class
{
return (T)provider.GetService(typeof(T));
}
/// <summary>
/// Retrieves the service of type <c>T</c> from the provider.
/// If the service cannot be found, a <see cref="ServiceNotFoundException"/> will be thrown.
/// </summary>
public static T GetRequiredService<T>(this IServiceProvider provider) where T : class
{
return (T)GetRequiredService(provider, typeof(T));
}
/// <summary>
/// Retrieves the service of type <paramref name="serviceType"/> from the provider.
/// If the service cannot be found, a <see cref="ServiceNotFoundException"/> will be thrown.
/// </summary>
public static object GetRequiredService(this IServiceProvider provider, Type serviceType)
{
object service = provider.GetService(serviceType);
if (service == null)
throw new ServiceNotFoundException(serviceType);
return service;
}
#endregion
/// <summary>
/// Creates a new image for the image source.
/// </summary>

2
src/Main/Core/Project/Src/AddInTree/AddIn/AddIn.cs

@ -65,7 +65,7 @@ namespace ICSharpCode.Core @@ -65,7 +65,7 @@ namespace ICSharpCode.Core
LoggingService.Error("Cannot find class: " + className);
} else {
hasShownErrorMessage = true;
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
messageService.ShowError("Cannot find class: " + className + "\nFuture missing objects will not cause an error message.");
}
return null;

2
src/Main/Core/Project/Src/AddInTree/AddIn/Condition.cs

@ -52,7 +52,7 @@ namespace ICSharpCode.Core @@ -52,7 +52,7 @@ namespace ICSharpCode.Core
public bool IsValid(object owner)
{
try {
var addInTree = ServiceSingleton.ServiceProvider.GetRequiredService<IAddInTree>();
var addInTree = ServiceSingleton.GetRequiredService<IAddInTree>();
return addInTree.ConditionEvaluators[name].IsValid(owner, this);
} catch (KeyNotFoundException) {
throw new CoreException("Condition evaluator " + name + " not found!");

2
src/Main/Core/Project/Src/AddInTree/AddIn/Runtime.cs

@ -232,7 +232,7 @@ namespace ICSharpCode.Core @@ -232,7 +232,7 @@ namespace ICSharpCode.Core
protected virtual void ShowError(string message)
{
ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>().ShowError(message);
ServiceSingleton.GetRequiredService<IMessageService>().ShowError(message);
}
}
}

4
src/Main/Core/Project/Src/AddInTree/AddInManager.cs

@ -113,7 +113,7 @@ namespace ICSharpCode.Core @@ -113,7 +113,7 @@ namespace ICSharpCode.Core
}
static AddInTreeImpl AddInTree {
get { return (AddInTreeImpl)ServiceSingleton.ServiceProvider.GetRequiredService(typeof(IAddInTree)); }
get { return (AddInTreeImpl)ServiceSingleton.GetRequiredService<IAddInTree>(); }
}
/// <summary>
@ -188,7 +188,7 @@ namespace ICSharpCode.Core @@ -188,7 +188,7 @@ namespace ICSharpCode.Core
Directory.Delete(targetDir, true);
} catch (Exception ex) {
disabled.Add(addInName);
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
messageService.ShowError("Error removing " + addInName + ":\n" +
ex.Message + "\nThe AddIn will be " +
"removed on the next start of " + messageService.ProductName +

8
src/Main/Core/Project/Src/AddInTree/AddInTree.cs

@ -18,13 +18,13 @@ namespace ICSharpCode.Core @@ -18,13 +18,13 @@ namespace ICSharpCode.Core
{
public static List<T> BuildItems<T>(string path, object caller, bool throwOnNotFound = true)
{
var addInTree = ServiceSingleton.ServiceProvider.GetRequiredService<IAddInTree>();
var addInTree = ServiceSingleton.GetRequiredService<IAddInTree>();
return addInTree.BuildItems<T>(path, caller, throwOnNotFound).ToList();
}
public static AddInTreeNode GetTreeNode(string path, bool throwOnNotFound = true)
{
var addInTree = ServiceSingleton.ServiceProvider.GetRequiredService<IAddInTree>();
var addInTree = ServiceSingleton.GetRequiredService<IAddInTree>();
return addInTree.GetTreeNode(path, throwOnNotFound);
}
}
@ -235,14 +235,14 @@ namespace ICSharpCode.Core @@ -235,14 +235,14 @@ namespace ICSharpCode.Core
{
string path = Path.Combine(addInRoot, bitmapResource);
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(Path.GetFileNameWithoutExtension(path), Path.GetDirectoryName(path), null);
ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>().RegisterNeutralImages(resourceManager);
ServiceSingleton.GetRequiredService<IResourceService>().RegisterNeutralImages(resourceManager);
}
foreach(string stringResource in addIn.StringResources)
{
string path = Path.Combine(addInRoot, stringResource);
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(Path.GetFileNameWithoutExtension(path), Path.GetDirectoryName(path), null);
ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>().RegisterNeutralStrings(resourceManager);
ServiceSingleton.GetRequiredService<IResourceService>().RegisterNeutralStrings(resourceManager);
}
}
addIns.Add(addIn);

6
src/Main/Core/Project/Src/AddInTree/CoreStartup.cs

@ -177,7 +177,7 @@ namespace ICSharpCode.Core @@ -177,7 +177,7 @@ namespace ICSharpCode.Core
addInTree.Load(addInFiles, disabledAddIns);
// perform service registration
var container = ServiceSingleton.ServiceProvider.GetService<IServiceContainer>();
var container = (IServiceContainer)ServiceSingleton.ServiceProvider.GetService(typeof(IServiceContainer));
if (container != null)
addInTree.BuildItems<object>("/SharpDevelop/Services", container, false);
@ -188,7 +188,7 @@ namespace ICSharpCode.Core @@ -188,7 +188,7 @@ namespace ICSharpCode.Core
command.Run();
} catch (Exception ex) {
// allow startup to continue if some commands fail
ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>().ShowException(ex);
ServiceSingleton.GetRequiredService<IMessageService>().ShowException(ex);
}
}
}
@ -202,7 +202,7 @@ namespace ICSharpCode.Core @@ -202,7 +202,7 @@ namespace ICSharpCode.Core
if (configDirectory == null)
configDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
applicationName);
var container = ServiceSingleton.ServiceProvider.GetRequiredService<IServiceContainer>();
var container = ServiceSingleton.GetRequiredService<IServiceContainer>();
var propertyService = new PropertyServiceImpl(
configDirectory,
dataDirectory ?? Path.Combine(FileUtility.ApplicationRootPath, "data"),

8
src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs

@ -457,7 +457,7 @@ namespace ICSharpCode.Core @@ -457,7 +457,7 @@ namespace ICSharpCode.Core
public static bool TestFileExists(string filename)
{
if (!File.Exists(filename)) {
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
messageService.ShowWarning(StringParser.Parse("${res:Fileutility.CantFindFileError}", new StringTagPair("FILE", filename)));
return false;
}
@ -556,7 +556,7 @@ namespace ICSharpCode.Core @@ -556,7 +556,7 @@ namespace ICSharpCode.Core
static FileOperationResult ObservedSaveHandleException(Exception e, FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy)
{
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
switch (policy) {
case FileErrorPolicy.Inform:
messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
@ -601,7 +601,7 @@ namespace ICSharpCode.Core @@ -601,7 +601,7 @@ namespace ICSharpCode.Core
static FileOperationResult ObservedSaveHandleError(Exception e, NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
{
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
switch (policy) {
case FileErrorPolicy.Inform:
messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
@ -644,7 +644,7 @@ namespace ICSharpCode.Core @@ -644,7 +644,7 @@ namespace ICSharpCode.Core
static FileOperationResult ObservedLoadHandleException(Exception e, FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
{
var messageService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
switch (policy) {
case FileErrorPolicy.Inform:
messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);

2
src/Main/Core/Project/Src/Services/LoggingService/LoggingService.cs

@ -11,7 +11,7 @@ namespace ICSharpCode.Core @@ -11,7 +11,7 @@ namespace ICSharpCode.Core
public static class LoggingService
{
static ILoggingService Service {
get { return ServiceSingleton.ServiceProvider.GetRequiredService<ILoggingService>(); }
get { return ServiceSingleton.GetRequiredService<ILoggingService>(); }
}
public static void Debug(object message)

2
src/Main/Core/Project/Src/Services/MessageService/MessageService.cs

@ -14,7 +14,7 @@ namespace ICSharpCode.Core @@ -14,7 +14,7 @@ namespace ICSharpCode.Core
public static class MessageService
{
static IMessageService Service {
get { return ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>(); }
get { return ServiceSingleton.GetRequiredService<IMessageService>(); }
}
/// <summary>

2
src/Main/Core/Project/Src/Services/PropertyService/PropertyService.cs

@ -19,7 +19,7 @@ namespace ICSharpCode.Core @@ -19,7 +19,7 @@ namespace ICSharpCode.Core
public static class PropertyService
{
static IPropertyService Service {
get { return ServiceSingleton.ServiceProvider.GetRequiredService<IPropertyService>(); }
get { return ServiceSingleton.GetRequiredService<IPropertyService>(); }
}
static Properties properties {

2
src/Main/Core/Project/Src/Services/PropertyService/PropertyServiceImpl.cs

@ -116,7 +116,7 @@ namespace ICSharpCode.Core @@ -116,7 +116,7 @@ namespace ICSharpCode.Core
return true;
}
} catch (XmlException ex) {
var msgService = ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>();
var msgService = ServiceSingleton.GetRequiredService<IMessageService>();
msgService.ShowError("Error loading properties: " + ex.Message + "\nSettings have been restored to default values.");
}
properties = new Properties();

2
src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs

@ -19,7 +19,7 @@ namespace ICSharpCode.Core @@ -19,7 +19,7 @@ namespace ICSharpCode.Core
public static class ResourceService
{
static IResourceService Service {
get { return ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>(); }
get { return ServiceSingleton.GetRequiredService<IResourceService>(); }
}
public static string GetString(string resourceName)

26
src/Main/Core/Project/Src/Services/ServiceSingleton.cs

@ -36,34 +36,16 @@ namespace ICSharpCode.Core @@ -36,34 +36,16 @@ namespace ICSharpCode.Core
}
}
/// <summary>
/// Retrieves the service of type <c>T</c> from the provider.
/// If the service cannot be found, this method returns <c>null</c>.
/// </summary>
public static T GetService<T>(this IServiceProvider provider) where T : class
{
return (T)provider.GetService(typeof(T));
}
/// <summary>
/// Retrieves the service of type <c>T</c> from the provider.
/// If the service cannot be found, a <see cref="ServiceNotFoundException"/> will be thrown.
/// </summary>
public static T GetRequiredService<T>(this IServiceProvider provider) where T : class
{
return (T)GetRequiredService(provider, typeof(T));
}
/// <summary>
/// Retrieves the service of type <paramref name="serviceType"/> from the provider.
/// If the service cannot be found, a <see cref="ServiceNotFoundException"/> will be thrown.
/// </summary>
public static object GetRequiredService(this IServiceProvider provider, Type serviceType)
public static T GetRequiredService<T>()
{
object service = provider.GetService(serviceType);
object service = instance.GetService(typeof(T));
if (service == null)
throw new ServiceNotFoundException(serviceType);
return service;
throw new ServiceNotFoundException(typeof(T));
return (T)service;
}
}
}

10
src/Main/Core/Project/Src/Services/StringParser/StringParser.cs

@ -155,7 +155,7 @@ namespace ICSharpCode.Core @@ -155,7 +155,7 @@ namespace ICSharpCode.Core
if (propertyName.Equals("TIME", StringComparison.OrdinalIgnoreCase))
return DateTime.Now.ToShortTimeString();
if (propertyName.Equals("ProductName", StringComparison.OrdinalIgnoreCase))
return ServiceSingleton.ServiceProvider.GetRequiredService<IMessageService>().ProductName;
return ServiceSingleton.GetRequiredService<IMessageService>().ProductName;
if (propertyName.Equals("GUID", StringComparison.OrdinalIgnoreCase))
return Guid.NewGuid().ToString().ToUpperInvariant();
if (propertyName.Equals("USER", StringComparison.OrdinalIgnoreCase))
@ -163,7 +163,7 @@ namespace ICSharpCode.Core @@ -163,7 +163,7 @@ namespace ICSharpCode.Core
if (propertyName.Equals("Version", StringComparison.OrdinalIgnoreCase))
return RevisionClass.FullVersion;
if (propertyName.Equals("CONFIGDIRECTORY", StringComparison.OrdinalIgnoreCase))
return ServiceSingleton.ServiceProvider.GetRequiredService<IPropertyService>().ConfigDirectory;
return ServiceSingleton.GetRequiredService<IPropertyService>().ConfigDirectory;
foreach (IStringTagProvider provider in stringTagProviders) {
string result = provider.ProvideString(propertyName, customTags);
@ -180,7 +180,7 @@ namespace ICSharpCode.Core @@ -180,7 +180,7 @@ namespace ICSharpCode.Core
// before allocaing the prefix/propertyName strings
// All other prefixed properties {prefix:Key} shoulg get handled in the switch below.
if (propertyName.StartsWith("res:", StringComparison.OrdinalIgnoreCase)) {
var resourceService = ServiceSingleton.ServiceProvider.GetService<IResourceService>();
var resourceService = (IResourceService)ServiceSingleton.ServiceProvider.GetService(typeof(IResourceService));
if (resourceService == null)
return null;
try {
@ -196,7 +196,7 @@ namespace ICSharpCode.Core @@ -196,7 +196,7 @@ namespace ICSharpCode.Core
case "SDKTOOLPATH":
return FileUtility.GetSdkPath(propertyName);
case "ADDINPATH":
foreach (var addIn in ServiceSingleton.ServiceProvider.GetRequiredService<IAddInTree>().AddIns) {
foreach (var addIn in ServiceSingleton.GetRequiredService<IAddInTree>().AddIns) {
if (addIn.Manifest.Identities.ContainsKey(propertyName)) {
return System.IO.Path.GetDirectoryName(addIn.FileName);
}
@ -259,7 +259,7 @@ namespace ICSharpCode.Core @@ -259,7 +259,7 @@ namespace ICSharpCode.Core
defaultValue = propertyName.Substring(pos + 2);
propertyName = propertyName.Substring(0, pos);
}
Properties properties = ServiceSingleton.ServiceProvider.GetRequiredService<IPropertyService>().MainPropertiesContainer;
Properties properties = ServiceSingleton.GetRequiredService<IPropertyService>().MainPropertiesContainer;
pos = propertyName.IndexOf('/');
while (pos >= 0) {
properties = properties.NestedProperties(propertyName.Substring(0, pos));

2
src/Main/ICSharpCode.Core.Presentation/LanguageChangeWeakEventManager.cs

@ -39,7 +39,7 @@ namespace ICSharpCode.Core.Presentation @@ -39,7 +39,7 @@ namespace ICSharpCode.Core.Presentation
}
}
readonly IResourceService resourceService = ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>();
readonly IResourceService resourceService = ServiceSingleton.GetRequiredService<IResourceService>();
protected override void StartListening(object source)
{

4
src/Main/ICSharpCode.Core.Presentation/Menu/MenuCommand.cs

@ -181,7 +181,7 @@ namespace ICSharpCode.Core.Presentation @@ -181,7 +181,7 @@ namespace ICSharpCode.Core.Presentation
base.OnClick();
string feature = GetFeatureName();
if (!string.IsNullOrEmpty(feature)) {
ServiceSingleton.ServiceProvider.GetRequiredService<IAnalyticsMonitor>().TrackFeature(feature, ActivationMethod);
ServiceSingleton.GetRequiredService<IAnalyticsMonitor>().TrackFeature(feature, ActivationMethod);
}
}
@ -205,7 +205,7 @@ namespace ICSharpCode.Core.Presentation @@ -205,7 +205,7 @@ namespace ICSharpCode.Core.Presentation
public void Execute(object parameter)
{
ServiceSingleton.ServiceProvider.GetRequiredService<IAnalyticsMonitor>().TrackFeature(featureName, "Shortcut");
ServiceSingleton.GetRequiredService<IAnalyticsMonitor>().TrackFeature(featureName, "Shortcut");
baseCommand.Execute(parameter);
}

2
src/Main/ICSharpCode.Core.Presentation/PresentationResourceService.cs

@ -21,7 +21,7 @@ namespace ICSharpCode.Core.Presentation @@ -21,7 +21,7 @@ namespace ICSharpCode.Core.Presentation
static PresentationResourceService()
{
resourceService = ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>();
resourceService = ServiceSingleton.GetRequiredService<IResourceService>();
resourceService.LanguageChanged += OnLanguageChanged;
}

2
src/Main/ICSharpCode.Core.Presentation/ToolBar/ToolBarButton.cs

@ -59,7 +59,7 @@ namespace ICSharpCode.Core.Presentation @@ -59,7 +59,7 @@ namespace ICSharpCode.Core.Presentation
{
string feature = GetFeatureName();
if (!string.IsNullOrEmpty(feature)) {
ServiceSingleton.ServiceProvider.GetRequiredService<IAnalyticsMonitor>().TrackFeature(feature, "Toolbar");
ServiceSingleton.GetRequiredService<IAnalyticsMonitor>().TrackFeature(feature, "Toolbar");
}
base.OnClick();
}

2
src/Main/ICSharpCode.Core.WinForms/Menu/MenuCommand.cs

@ -110,7 +110,7 @@ namespace ICSharpCode.Core.WinForms @@ -110,7 +110,7 @@ namespace ICSharpCode.Core.WinForms
if (GetVisible() && Enabled) {
ICommand cmd = Command;
if (cmd != null) {
ServiceSingleton.ServiceProvider.GetRequiredService<IAnalyticsMonitor>().TrackFeature(cmd.GetType().FullName, "Menu");
ServiceSingleton.GetRequiredService<IAnalyticsMonitor>().TrackFeature(cmd.GetType().FullName, "Menu");
cmd.Run();
}
}

2
src/Main/ICSharpCode.Core.WinForms/ToolBar/ToolBarCommand.cs

@ -44,7 +44,7 @@ namespace ICSharpCode.Core.WinForms @@ -44,7 +44,7 @@ namespace ICSharpCode.Core.WinForms
}
if (menuCommand != null) {
menuCommand.Owner = caller;
ServiceSingleton.ServiceProvider.GetRequiredService<IAnalyticsMonitor>().TrackFeature(menuCommand.GetType().FullName, "Toolbar");
ServiceSingleton.GetRequiredService<IAnalyticsMonitor>().TrackFeature(menuCommand.GetType().FullName, "Toolbar");
menuCommand.Run();
}
}

2
src/Main/ICSharpCode.Core.WinForms/ToolBar/ToolBarService.cs

@ -74,7 +74,7 @@ namespace ICSharpCode.Core.WinForms @@ -74,7 +74,7 @@ namespace ICSharpCode.Core.WinForms
}
class LanguageChangeWatcher {
readonly IResourceService resourceService = ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>();
readonly IResourceService resourceService = ServiceSingleton.GetRequiredService<IResourceService>();
ToolStrip toolStrip;
public LanguageChangeWatcher(ToolStrip toolStrip) {
this.toolStrip = toolStrip;

2
src/Main/ICSharpCode.Core.WinForms/WinFormsResourceService.cs

@ -21,7 +21,7 @@ namespace ICSharpCode.Core.WinForms @@ -21,7 +21,7 @@ namespace ICSharpCode.Core.WinForms
static WinFormsResourceService()
{
resourceService = ServiceSingleton.ServiceProvider.GetRequiredService<IResourceService>();
resourceService = ServiceSingleton.GetRequiredService<IResourceService>();
resourceService.LanguageChanged += OnLanguageChanged;
}

Loading…
Cancel
Save