aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.CodeGeneration/Properties/AssemblyInfo.cs
blob: 7d9db14a805d6df6689eb9868ff9fda414fbbabc (plain)
1
2
3
4
5
6
7
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: AssemblyTitle("Tango - Code Generation Components")]
[assembly: AssemblyVersion("2.0.17.1737")]
[assembly: ComVisible(false)]
#0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.DI;
using Tango.MachineStudio.Common;

public static class TangoIOCExtensions
{
    /// <summary>
    /// Gets the specified module <see cref="IStudioViewModel"/> view models.
    /// </summary>
    /// <param name="tangoIOC">The Tango IOC.</param>
    /// <param name="module">The module.</param>
    /// <returns></returns>
    public static IEnumerable<IStudioViewModel> GetModuleViewModels(this TangoIOC tangoIOC, IStudioModule module)
    {
        var viewModels = tangoIOC.GetAllInstancesByBase<IStudioViewModel>().Where(x => x != null && x.GetType().BaseType.GetGenericArguments().Length > 0 && x.GetType().BaseType.GetGenericArguments()[0] == module.GetType());
        return viewModels;
    }
}