当前位置: 首页>>代码示例>>C#>>正文


C# Signal.Equals方法代码示例

本文整理汇总了C#中Signal.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# Signal.Equals方法的具体用法?C# Signal.Equals怎么用?C# Signal.Equals使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Signal的用法示例。


在下文中一共展示了Signal.Equals方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FixSentinel

 private bool FixSentinel(ref Signal signal, Dictionary<Guid, Signal> sentinels, Dictionary<Guid, Signal> signalReplacements)
 {
     bool ret = false;
     while(sentinels.ContainsKey(signal.InstanceId)) // is a sentinel
     {
         ret = true;
         Signal original = sentinels[signal.InstanceId];
         Signal final;
         if(signalReplacements.TryGetValue(original.InstanceId, out final) && !signal.Equals(final))
             signal = final; // sentinel was replaced -> replace with replacement
         else
             signal = original; // sentinel was not replaced -> replace with original
     }
     return ret; // is not a sentinel
 }
开发者ID:JackWangCUMT,项目名称:mathnet-yttrium,代码行数:15,代码来源:Manipulator.cs

示例2: LeaveSignal

            public override bool LeaveSignal(Signal signal, Port parent, bool again, bool root)
            {
                // ## POST-MANIPULATE (REPLACED) SIGNALS
                Signal rep;
                if(_signalRep.TryGetValue(signal.InstanceId, out rep))
                    _signalRep[signal.InstanceId] = _visitor.ManipulateSignal(signal, rep, !signal.Equals(rep));
                else
                    _signalRep[signal.InstanceId] = _visitor.ManipulateSignal(signal, signal, false);

                return base.LeaveSignal(signal, parent, again, root);
            }
开发者ID:JackWangCUMT,项目名称:mathnet-yttrium,代码行数:11,代码来源:Manipulator.cs

示例3: CreateSubstituteVisitor

        private IManipulationVisitor CreateSubstituteVisitor(Signal subject, Signal replacement)
        {
            return new BasicManipulationVisitor(
                delegate(Port p)
                {   // ## ESTIMATE PLAN
                    if(p.InputSignals.Contains(subject))
                        return ManipulationPlan.DoAlter;
                    else
                        return ManipulationPlan.CloneIfChildsAltered;
                },
                delegate(Port port, SignalSet manipulatedInputs, bool hasManipulatedInputs)
                {   // ## MANIPULATE PORT

                    /* NOTE: manipulatedInputs could contain sentinels, that's why
                     * we use the original port inputs instead. */

                    ISignalSet inputs = port.InputSignals;
                    for(int i = 0; i < inputs.Count; i++)
                        if(subject.Equals(inputs[i]))
                            manipulatedInputs[i] = replacement;
                    return port.CloneWithNewInputs(manipulatedInputs).OutputSignals;
                },
                delegate(Signal original, Signal replaced, bool isReplaced)
                {   // ## POST-MANIPULATE SIGNAL
                    if(subject.Equals(replaced))
                        return replacement;
                    else
                        return replaced;
                });
        }
开发者ID:JackWangCUMT,项目名称:mathnet-yttrium,代码行数:30,代码来源:Manipulator.cs


注:本文中的Signal.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。