Partilhar via


TriggerTree Classe

Definição

Uma árvore de acionadores organiza avaliadores de acordo com a generalização/especialização para facilitar a utilização de regras.

public class TriggerTree
type TriggerTree = class
Public Class TriggerTree
Herança
TriggerTree

Observações

Uma expressão de acionador gera verdadeiro se a expressão avaliada numa moldura for verdadeira. A expressão em si consiste em funções booleanas arbitrárias ("predicados") combinadas com && || !. A maioria dos predicados são expressos sobre a moldura transmitida, mas podem ser qualquer coisa— existem até formas de otimizar ou compará-los. Ao organizar avaliadores numa árvore (tecnicamente um DAG), torna-se mais fácil utilizar regras ao reduzir o acoplamento entre regras. Por exemplo, se uma regra se aplicar se algum predicado A for verdadeiro, outra regra que se aplica se A && B for verdadeiro é mais especializada. Se a segunda expressão for verdadeira, então, porque sabemos da relação, podemos ignorar a primeira regra, mesmo que a expressão seja verdadeira. Sem este tipo de capacidade para adicionar a segunda regra, teria de alterar a primeira para se tornar um && !B.

Construtores

TriggerTree()

Inicializa uma nova instância da TriggerTree classe.

Propriedades

Comparers

Obtém um valor de um dicionário, que tem valores IPredicateComparer, com chaves de cadeia.

Optimizers

Obtém uma lista de Otimizadores para otimizar cláusulas.

Root

Obtém ou define um valor do nó de raiz.

TotalTriggers

Obtém ou define o número total de acionadores.

Métodos

AddTrigger(Expression, Object, Quantifier[])

Adicione uma expressão de acionador à árvore.

AddTrigger(String, Object, Quantifier[])

Adicione uma expressão de acionador à árvore.

GenerateGraph(String)

Gera um gráfico para um determinado caminho.

Matches(Object)

Devolva as correspondências possíveis, dado o estado atual.

RemoveTrigger(Trigger)

Remova o acionador da árvore.

ToString()

Devolve uma cadeia que representa o objeto atual.

TreeToString(Int32)

Gere uma cadeia que descreve a árvore.

VerifyTree()

Verifique se a árvore cumpre as invariantes de especialização/generalização.

Aplica-se a