1. 重新设计了Generate项目及相关特性的命名,避免与其他类型混淆。

2. 补充了部分注释。
3. 修改了删除容器节点时,容器内子节点未正确删除的问题。
This commit is contained in:
fengjiayi
2025-07-30 21:15:07 +08:00
parent 93148b11a5
commit 152077e9b5
188 changed files with 2713 additions and 1406 deletions

View File

@@ -143,7 +143,7 @@ namespace Serein.NodeFlow.Model.Library
// 从 scanTypes.Type 创建的方法信息
// Md : 方法描述
// Dd 方法对应的Emit委托
List<LibraryMdDd> detailss = new List<LibraryMdDd>();
List<LibraryMthodInfo> detailss = new List<LibraryMthodInfo>();
// 遍历扫描的类型
foreach ((var type, var flowName) in scanTypes)
@@ -159,7 +159,7 @@ namespace Serein.NodeFlow.Model.Library
continue;
}
md.MethodAnotherName = flowName + md.MethodAnotherName; // 方法别名
detailss.Add(new LibraryMdDd(mi, md, dd));
detailss.Add(new LibraryMthodInfo(mi, md, dd));
}
}

View File

@@ -1,20 +0,0 @@
using Serein.Library;
using System.Reflection;
namespace Serein.NodeFlow.Model.Library
{
public class LibraryMdDd
{
public MethodDetails MethodDetails { get; }
public MethodInfo MethodInfo { get; }
public DelegateDetails DelegateDetails { get; }
public LibraryMdDd(MethodInfo methodInfo, MethodDetails methodDetails, DelegateDetails delegateDetails)
{
MethodDetails = methodDetails;
MethodInfo = methodInfo;
DelegateDetails = delegateDetails;
}
}
}

View File

@@ -0,0 +1,39 @@
using Serein.Library;
using System.Reflection;
namespace Serein.NodeFlow.Model.Library
{
/// <summary>
/// 库方法信息类,包含方法的详细信息、反射信息和委托信息。
/// </summary>
public class LibraryMthodInfo
{
/// <summary>
/// 方法的详细信息。
/// </summary>
public MethodDetails MethodDetails { get; }
/// <summary>
/// 方法的反射信息,包含方法名称、参数类型等。
/// </summary>
public MethodInfo MethodInfo { get; }
/// <summary>
/// Emit构造委托
/// </summary>
public DelegateDetails DelegateDetails { get; }
/// <summary>
/// 构造一个新的库方法信息实例。
/// </summary>
/// <param name="methodInfo"></param>
/// <param name="methodDetails"></param>
/// <param name="delegateDetails"></param>
public LibraryMthodInfo(MethodInfo methodInfo, MethodDetails methodDetails, DelegateDetails delegateDetails)
{
MethodDetails = methodDetails;
MethodInfo = methodInfo;
DelegateDetails = delegateDetails;
}
}
}