[]
        
(Showing Draft Content)

GrapeCity.Forguncy.CellTypes.IReferenceCommand

接口 IReferenceCommand

如果一个单元格不是ICommandCellType,但是该单元格内部属性中有命令设置,如菜单单元格类型,需实现该接口; 否则有些命令执行会出错,而且查找所有引用会有遗漏。

命名空间: GrapeCity.Forguncy.CellTypes
程序集: GrapeCity.Forguncy.CellTypes.dll
语法
public interface IReferenceCommand
示例
public class MyMenuCellType : CellType, IReferenceCommand
{
    public List<ItemInfo> Items { get; set; }

    public IEnumerable<LocatedObject<List<Command>>> GetCommandList(LocationIndicator location)
    {
        return this.GetCommandList(this.Items, location);
    }

    private IEnumerable<LocatedObject<List<Command>>> GetCommandList(List<ItemInfo> items, LocationIndicator location)
    {
        if (items == null)
        {
            yield break;
        }
        foreach (var item in items)
        {
            if (item.CommandList != null)
            {
                var newLocation = location.AppendProperty("MyMenuCellType").AppendProperty(item.Text).AppendProperty("CommandList");
                yield return new LocatedObject<List<Command>>(item.CommandList, newLocation);
            }

            foreach (var item2 in GetCommandList(item.SubItems, location))
            {
                yield return item2;
            }
        }
    }
}

public class ItemInfo
{
    public string Text { get; set; }

    public List<Command> CommandList { get; set; }

    public List<ItemInfo> SubItems { get; set; }
    //...
}

方法

GetCommandList(LocationIndicator)

返回插件内部属性使用到的所有的命令列表。

声明
IEnumerable<LocatedObject<List<Command>>> GetCommandList(LocationIndicator location)
参数
类型 名称 描述
LocationIndicator location

坐标定位器。

返回值
类型 描述
System.Collections.Generic.IEnumerable<T><LocatedObject<System.Collections.Generic.List<T><Command>>>

返回插件内部属性使用到的所有的命令列表。