小编Ike*_*uda的帖子

如何在多个子类上返回不同的类型?

我已经阅读了一些与我的问题有关的问题,但我发现它们对某些程序设计非常具体,所以我希望能就我自己的具体案例得到一些建议......

我正在开发一个程序,它允许你根据节点图进行逻辑运算,例如,你有不同类型的节点; CostantNode和Addition节点,您可以绘制两个常量并将它们链接到Addition节点,这样最后一个将处理输入并抛出结果.到目前为止,Node类有一个虚拟方法用于处理:

//Node Logic
    public virtual float Process(Dictionary<Guid, Node> allNodes)
    {
        //Override logic on child nodes.
        return Value;
    }
Run Code Online (Sandbox Code Playgroud)

这个方法覆盖了每个派生的nodeType,例如:

        /// <summary>
    /// We pass Allnodes in so the Node doesnt need any static reference to all the nodes.
    /// </summary>
    /// <param name="allNodes"></param>
    /// <returns>Addition result (float)</returns>
    public override float Process(Dictionary<Guid, Node> allNodes)
    {
        //We concatenate the different input values in here:
        float Result = 0;

        if (Input.Count >= 2)
        {
            for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
1
解决办法
211
查看次数

标签 统计

c# ×1