Ejemplo n.º 1
0
    public Option <CommandExecDescriptor> PatternDescriptor(CommandName CommandName)
    {
        var spec = DescribedSpecs.TryFind(CommandName);

        if (spec)
        {
            var specType = spec.Require().SpecType;
            foreach (var t in DescribedPatterns.Keys)
            {
                if (specType == t || specType.IsSubclassOf(t))
                {
                    return(DescribedPatterns[t]);
                }
            }
        }
        return(none <CommandExecDescriptor>());
    }
Ejemplo n.º 2
0
 public Option <CommandSpecDescriptor> SpecDescriptor(CommandName CommandName)
 => DescribedSpecs.TryFind(CommandName);