using CommunityToolkit.Mvvm.ComponentModel;
using Serein.Library;
using Serein.Workbench.Avalonia.Services;
using Serein.Workbench.Avalonia.ViewModels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.Avalonia.Custom.ViewModels
{
internal partial class FlowLibraryMethodInfoViewModel : ViewModelBase
{
///
/// 当前预览的方法信息
///
[ObservableProperty]
private MethodDetailsInfo methodDetailsInfo;
private IWorkbenchEventService workbenchEventService;
public FlowLibraryMethodInfoViewModel()
{
workbenchEventService = App.GetService();
workbenchEventService.OnPreviewlMethodInfo += WorkbenchEventService_OnPreviewlMethodInfo;
methodDetailsInfo = new MethodDetailsInfo
{
AssemblyName = "wait selection...",
MethodAnotherName = "wait selection...",
MethodName = "wait selection...",
NodeType = "wait selection...",
ReturnTypeFullName = "wait selection...",
IsParamsArgIndex = -1,
ParameterDetailsInfos = []
};
}
private void WorkbenchEventService_OnPreviewlMethodInfo(PreviewlMethodInfoEventArgs eventArgs)
{
var mdInfo = eventArgs.MethodDetailsInfo;
MethodDetailsInfo = mdInfo;
Debug.WriteLine($"预览了 {mdInfo.AssemblyName } - {mdInfo.MethodAnotherName} 方法");
}
}
}