Files
LanMountainDesktop/LanMountainDesktop.PluginSdk/IPluginContext.cs
lincube cab35f4c22 0.5.1
插件系统试验
2026-03-09 12:27:33 +08:00

25 lines
565 B
C#

using System.Collections.Generic;
namespace LanMountainDesktop.PluginSdk;
public interface IPluginContext
{
PluginManifest Manifest { get; }
string PluginDirectory { get; }
string DataDirectory { get; }
IServiceProvider Services { get; }
IReadOnlyDictionary<string, object?> Properties { get; }
T? GetService<T>();
bool TryGetProperty<T>(string key, out T? value);
void RegisterSettingsPage(PluginSettingsPageRegistration registration);
void RegisterDesktopComponent(PluginDesktopComponentRegistration registration);
}