重写了Web Api的逻辑,用Emit构造委托加速API处理

This commit is contained in:
fengjiayi
2024-10-10 16:49:37 +08:00
parent d1b9a3f28f
commit 99f82d5772
25 changed files with 792 additions and 628 deletions

View File

@@ -882,16 +882,40 @@ namespace Serein.WorkBench
{
var contextMenu = new ContextMenu();
var nodeGuid = nodeControl.ViewModel?.Node?.Guid;
#region
if(nodeControl.ViewModel?.Node.ControlType == NodeControlType.Flipflop)
{
contextMenu.Items.Add(CreateMenuItem("启动触发器", (s, e) =>
{
if (s is MenuItem menuItem)
{
if (menuItem.Header.ToString() == "启动触发器")
{
FlowEnvironment.ActivateFlipflopNode(nodeGuid);
if (nodeControl.ViewModel.Node?.MethodDetails?.ReturnType is Type returnType && returnType != typeof(void))
menuItem.Header = "终结触发器";
}
else
{
FlowEnvironment.TerminateFlipflopNode(nodeGuid);
menuItem.Header = "启动触发器";
}
}
}));
}
#endregion
if (nodeControl?.ViewModel?.Node?.MethodDetails?.ReturnType is Type returnType && returnType != typeof(void))
{
contextMenu.Items.Add(CreateMenuItem("查看返回类型", (s, e) =>
{
DisplayReturnTypeTreeViewer(returnType);
}));
}
var nodeGuid = nodeControl.ViewModel?.Node?.Guid;
#region -
@@ -926,7 +950,7 @@ namespace Serein.WorkBench
contextMenu.Items.Add(CreateMenuItem("添加 上游分支", (s, e) => StartConnection(nodeControl, ConnectionType.Upstream)));
#region -
var AvoidMenu = new MenuItem();