Files
Future/Future.Contract/Interfaces/IConfigurableObject.cs
2025-08-30 17:19:57 +08:00

58 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Future.Contract
{
/// <summary>
/// 可以进行配置的对象的公共基类
/// </summary>
public interface IConfigurableObject
{
/// <summary>
/// 标题
/// </summary>
string Title { get; }
/// <summary>
/// 备注
/// </summary>
string Remark { get; }
/// <summary>
/// 是否允许追加参数
/// </summary>
bool AllowAddParameter { get; }
/// <summary>
/// 运行参数集合
/// </summary>
List<ParameterDefineAttribute> RuntimeParametersForDesigner { get; }
/// <summary>
/// 自定义参数集合
/// </summary>
ObservableCollection<KeyValuePair<string, ObservableCollection<ParameterDefineAttribute>>> DynamicParametersForDesigner { get; }
/// <summary>
/// 是否允许管理分组
/// </summary>
bool AllowManageGroups { get; }
/// <summary>
/// 可使用分组
/// </summary>
List<string> ParameterGroups { get; }
/// <summary>
/// 变更分组名称
/// </summary>
/// <param name="newGroup">新分组名称</param>
/// <param name="oldGroup">旧分组名称</param>
/// <returns>如果失败则返回原因</returns>
string RenameGroup(string newGroup, string oldGroup);
/// <summary>
/// 删除分组
/// </summary>
/// <param name="grpupName">要删除的分组名称</param>
/// <returns>如果失败则返回原因</returns>
string DeleteGroup(string grpupName);
}
}