コード例 #1
0
        public T Find <T>(string name) where T : class
        {
            var typeName = typeof(T).Name;

            switch (typeName)
            {
            case nameof(MotionCardWrapper):
                return(MotionExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(IDiEx):
                return(DiExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(IDoEx):
                return(DoExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(IVioEx):
                return(VioExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(ICylinderEx):
                return(CylinderExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(IAxisEx):
                return(AxisExs.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(PlatformEx):
                return(Platforms.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(Station):
                return(Stations.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            case nameof(StationTask):
                return(Tasks.FirstOrDefault(ex => ex.Value.Name == name).Value as T);

            default:
                return(null);
            }
        }