Beispiel #1
0
        protected override void OnConfigPinChanged()
        {
            if (IsConfigDefault())
            {
                return;
            }
            DynamicPins.RemoveAllInput();
            DynamicPins.RemoveAllOutput();
            var ptypesnames = FSignature[0].Split('\\');
            var typesnames  = ptypesnames.Take(Math.Min(ptypesnames.Length, 7)).ToArray();
            var typelist    = typesnames.Select(tn => Type.GetType(tn, true)).ToArray();

            var uglytuplebarebones = new []
            {
                typeof(Tuple <>),
                typeof(Tuple <,>),
                typeof(Tuple <, ,>),
                typeof(Tuple <, , ,>),
                typeof(Tuple <, , , ,>),
                typeof(Tuple <, , , , ,>),
                typeof(Tuple <, , , , , ,>)
            };

            TupleType = uglytuplebarebones[typesnames.Length - 1].MakeGenericType(typelist);
            DynamicPins.AddOutput(TupleType, new OutputAttribute("Output"));
            var item = 0;

            foreach (var t in typelist)
            {
                DynamicPins.AddInput(t, new InputAttribute("Item" + (item + 1)));
                item++;
            }
        }
Beispiel #2
0
        protected override void OnConfigPinChanged()
        {
            if (IsConfigDefault())
            {
                return;
            }
            DynamicPins.RemoveAllInput();
            DynamicPins.RemoveAllOutput();

            TupleType = TupleNodeHeper.MakeTupleFromSignature(FSignature[0], out var typeList);
            DynamicPins.AddOutput(TupleType, new OutputAttribute("Output"));
            var item = 0;

            foreach (var t in typeList)
            {
                DynamicPins.AddInput(t, new InputAttribute("Item" + (item + 1)));
                item++;
            }
        }