private INodeInfo CreateMemberNodeInfo(MemberInfo member, TypeSplitter os, string category, string filename) { var name = $"{os.BaseName}.{member.Name}"; var ninfo = FNodeInfoFactory.CreateNodeInfo(name, category, "", filename, true); ninfo.BeginUpdate(); ninfo.Credits = "microdee, MESO"; ninfo.Help = "Exposes a single member of a CLR Type"; ninfo.Tags = "property, field, member"; ninfo.Type = NodeType.Plugin; ninfo.Factory = this; if (os.Info != null) { ninfo.UpdateFromPluginInfo(os.Info); } AuxNodeInfo.UpdateGeneric(ninfo, new NodeInfoExtension(os, member.Name)); ninfo.Arguments = os.SplitterType.ToString(); ninfo.CommitUpdate(); return(ninfo); }
protected override Type DelegateNodeType(INodeInfo nodeInfo) { if (AuxNodeInfo.TryGetValue(nodeInfo, out var nie)) { return(nie.Splitter.SplitterType); } return(null); }
protected override void ProcessNode(PluginContainer container, INodeInfo nodeInfo) { if (container.PluginBase is ObjectSplitNode osn && AuxNodeInfo.TryGetValue(nodeInfo, out var nie)) { osn.MemberWhiteList = new StringCollection { nie.MemberName }; osn.Initialize(); } }