Files
LanMountainDesktop/LanMountainDesktop/plugins/PluginLoadResult.cs
lincube 9c89c08448 0.5.6
插件系统再进化
2026-03-10 00:04:33 +08:00

25 lines
709 B
C#

using System;
using LanMountainDesktop.PluginSdk;
namespace LanMountainDesktop.Plugins;
public sealed record PluginLoadResult(
string SourcePath,
PluginManifest? Manifest,
LoadedPlugin? LoadedPlugin,
Exception? Error)
{
public bool IsSuccess => LoadedPlugin is not null && Error is null;
public static PluginLoadResult Success(string sourcePath, PluginManifest manifest, LoadedPlugin loadedPlugin)
{
return new PluginLoadResult(sourcePath, manifest, loadedPlugin, null);
}
public static PluginLoadResult Failure(string sourcePath, PluginManifest? manifest, Exception error)
{
return new PluginLoadResult(sourcePath, manifest, null, error);
}
}