[]
        
(Showing Draft Content)

GrapeCity.Forguncy.Commands.Command

类 Command

命令类型插件的父类定义。

继承
object
Command
实现
System.ICloneable
命名空间: GrapeCity.Forguncy.Commands
程序集: Forguncy.Commands.dll
语法
[Icon("pack://application:,,,/Forguncy;component/Images/EditingCommand16.png")]
public abstract class Command : ICloneable
示例
public class MyPluginCommand : Command
{
    ...
}

构造函数

Command()

命令类型插件的父类定义。

声明
protected Command()
示例
public class MyPluginCommand : Command
{
    ...
}

属性

BreakpointIdentity

Internal use

声明
[Browsable(false)]
[DiffJsonIgnore]
public string BreakpointIdentity { get; set; }
属性值
类型 描述
string

Comments

命令的注释。

声明
[Browsable(false)]
public string Comments { get; set; }
属性值
类型 描述
string

Disabled

命令是否被禁用。

声明
[Browsable(false)]
public bool Disabled { get; set; }
属性值
类型 描述
bool

DisplayName

Internal use

声明
[SaveJsonIgnore]
public string DisplayName { get; }
属性值
类型 描述
string

IsStepIntoServer

子命令的运行环境是否是server。

声明
[Browsable(false)]
public virtual bool IsStepIntoServer { get; }
属性值
类型 描述
bool

SupportStepInto

是否支持step into。

声明
[Browsable(false)]
[DiffJsonIgnore]
public virtual bool SupportStepInto { get; }
属性值
类型 描述
bool

方法

Clone()

克隆命令插件。

声明
public virtual Command Clone()
返回值
类型 描述
Command

返回克隆后的命令。

ContainSubCommands()

指定该命令插件是否包含子命令。 包含子命令的有条件命令,循环命令等;不包含子命令的有跳转页面命令等。

声明
public virtual bool ContainSubCommands()
返回值
类型 描述
bool

返回true表示包含子命令,否则不包含。

GetApplicationResource()

获取应用资源。

声明
public Dictionary<string, string> GetApplicationResource()
返回值
类型 描述
System.Collections.Generic.Dictionary<TKey, TValue><string, string>

返回应用资源。

GetApplicationResource(string)

获取应用资源。

声明
public string GetApplicationResource(string name)
参数
类型 名称 描述
string name

资源名,以‘~’开头

返回值
类型 描述
string

返回应用资源。

GetCommandScope()

指定命令插件的使用范围。

声明
public virtual CommandScope GetCommandScope()
返回值
类型 描述
CommandScope

返回命令的使用范围。

示例

示例请参照CommandScope

GetDesignerPropertyVisible(string, CommandScope)

如果需要动态改变属性编辑器的可见性,可以重写该函数。

声明
public virtual bool GetDesignerPropertyVisible(string propertyName, CommandScope commandScope)
参数
类型 名称 描述
string propertyName

属性名

CommandScope commandScope

CommandScope

返回值
类型 描述
bool

返回True表示属性编辑器可见,否则不可见。

示例
public class MenuCellType: CellType
{
    public Orientation Orientation { get; set; }

    public ExpandStyle DefaultExpandStyle { get; set; }

    public override bool GetDesignerPropertyVisible(string propertyName)
    {
        if (propertyName == "DefaultExpandStyle")
        {
            if (Orientation == MenuOrientation.Horizontal)  //如果是水平方向的菜单隐藏默认展开方式。
            {
                return false;
            }
            return true;
        }
        return base.GetDesignerPropertyVisible(propertyName);
    }
}

GetPluginResource(string)

获取插件内置资源。

声明
public string GetPluginResource(string name)
参数
类型 名称 描述
string name

资源名

返回值
类型 描述
string

返回插件资源。

示例
public class ExampleCommand : Command
{
    public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
    {
        string message = GetPluginResource(resource name);
        var result = new ExecuteResult() { Message = message };
        return await Task.FromResult(result);
    }
}

InitDefaultPropertyValues()

初始化默认属性值。

声明
public virtual void InitDefaultPropertyValues()
示例
public class CallStoredProcedureCommand : Command
{
    public List<string> AllowAccessRoleList { get; set; } = new List<string>();

    public override void InitDefaultPropertyValues()
    {
        AllowAccessRoleList = new List<string>() { DefaultRoleManager.FGC_LoginUser };
    }
}

ToString()

命令插件的显示名称,默认与插件定义的类名一样。

声明
public override string ToString()
返回值
类型 描述
string

返回在命令列表中该命令插件的显示名称。

重载
object.ToString()
示例
public class ShowMessageBoxCommand : Command
{
    public override string ToString()
    {
        return "消息框命令";
    }
}

WillNavigateOrReload()

该命令插件执行之后是否会跳转到其他页面或者刷新。 如果返回True,运行页面时会提示用户该命令之后的命令有可能不执行,如跳转页面命令。

声明
public virtual bool WillNavigateOrReload()
返回值
类型 描述
bool

返回true表示该命令插件后续的命令会停止执行,返回false表示该命令插件执行不会影响后续命令的执行。

实现

System.ICloneable