protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel) { ItemVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultItemName, typeof(Object).GenerateTypeHandle(Stencil), TitleComponentIcon.Item, VariableFlags.Generated | VariableFlags.Hidden); IndexVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultIndexName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Index, VariableFlags.Generated); CountVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultCountName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Count, VariableFlags.Generated); CollectionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(DefaultCollectionName, typeof(VSArray <Object>).GenerateTypeHandle(Stencil), TitleComponentIcon.Collection, VariableFlags.Generated | VariableFlags.Hidden); }
protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel) { m_IndexVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>( k_DefaultIndexName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Index, VariableFlags.Generated); m_ConditionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>( DefaultConditionName, typeof(bool).GenerateTypeHandle(Stencil), TitleComponentIcon.Condition, VariableFlags.Generated); }
protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel) { var collectionType = connectedPortModel != null?connectedPortModel.DataType.Resolve(Stencil) : null; Type itemType = typeof(object); if (collectionType != null) { var ienumerable = collectionType.GetInterfaces().FirstOrDefault(i => i.IsConstructedGenericType && i.GetGenericTypeDefinition() == typeof(IEnumerable <>)); if (ienumerable != null) { itemType = ienumerable.GetGenericArguments()[0]; } } ItemVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultItemName, itemType.GenerateTypeHandle(Stencil), TitleComponentIcon.Item, VariableFlags.Generated | VariableFlags.Hidden); IndexVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultIndexName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Index, VariableFlags.Generated); CountVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultCountName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Count, VariableFlags.Generated); CollectionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(DefaultCollectionName, typeof(IEnumerable <object>).GenerateTypeHandle(Stencil), TitleComponentIcon.Collection, VariableFlags.Generated | VariableFlags.Hidden); }