457 lines
10 KiB
C#
457 lines
10 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Linq;
|
||
using System.Reflection;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace MetroGauges.General
|
||
{
|
||
/// <summary>
|
||
/// 竖曲线凹凸情况
|
||
/// </summary>
|
||
public enum Vertical
|
||
{
|
||
/// <summary>
|
||
/// 凸曲线
|
||
/// </summary>
|
||
[Description("凸曲线")]
|
||
Convex = 0,
|
||
|
||
/// <summary>
|
||
/// 凹曲线
|
||
/// </summary>
|
||
[Description("凹曲线")]
|
||
Concave = 1
|
||
}
|
||
/// <summary>
|
||
/// 车辆结构
|
||
/// </summary>
|
||
public enum Structure
|
||
{
|
||
/// <summary>
|
||
/// 整体焊接
|
||
/// </summary>
|
||
[Description("整体焊接")]
|
||
Integral = 0,
|
||
/// <summary>
|
||
/// 模块拼装
|
||
/// </summary>
|
||
[Description("模块拼装")]
|
||
Module = 1
|
||
}
|
||
/// <summary>
|
||
/// 计算断面位置
|
||
/// </summary>
|
||
public enum Pin
|
||
{
|
||
/// <summary>
|
||
/// 中心销内
|
||
/// </summary>
|
||
[Description("中心销内")]
|
||
Inside=0,
|
||
/// <summary>
|
||
/// 中心销外
|
||
/// </summary>
|
||
[Description("中心销外")]
|
||
Outside = 1
|
||
}
|
||
/// <summary>
|
||
/// 车辆轮廓控制点位置
|
||
/// </summary>
|
||
public enum PositionI
|
||
{
|
||
/// <summary>
|
||
/// 受电弓
|
||
/// </summary>
|
||
[Description("受电弓")]
|
||
Pantograph = 0,
|
||
/// <summary>
|
||
/// 车体
|
||
/// </summary>
|
||
[Description("车体")]
|
||
Body = 1,
|
||
/// <summary>
|
||
/// 转向架构架
|
||
/// </summary>
|
||
[Description("转向架构架")]
|
||
BogieFrame = 2,
|
||
/// <summary>
|
||
/// 簧下部分
|
||
/// </summary>
|
||
[Description("簧下部分")]
|
||
Unsprung = 3,
|
||
/// <summary>
|
||
/// 踏面
|
||
/// </summary>
|
||
[Description("踏面")]
|
||
Tread = 4,
|
||
/// <summary>
|
||
/// 轮缘
|
||
/// </summary>
|
||
[Description("轮缘")]
|
||
Rim = 5,
|
||
/// <summary>
|
||
/// 受流器
|
||
/// </summary>
|
||
[Description("受流器")]
|
||
Collector = 6,
|
||
/// <summary>
|
||
/// 其他
|
||
/// </summary>
|
||
[Description("不可用")]
|
||
INVAIL = 7
|
||
}
|
||
/// <summary>
|
||
/// 车辆限界控制点位置
|
||
/// </summary>
|
||
public enum PositionII
|
||
{
|
||
/// <summary>
|
||
/// 受电弓
|
||
/// </summary>
|
||
[Description("受电弓")]
|
||
Pantograph = 0,
|
||
/// <summary>
|
||
/// 车体顶部
|
||
/// </summary>
|
||
[Description("车体顶部")]
|
||
TopBody = 1,
|
||
/// <summary>
|
||
/// 车体底架边梁以上
|
||
/// </summary>
|
||
[Description("车体底架边梁以上")]
|
||
UpChassis = 2,
|
||
/// <summary>
|
||
/// 车体底架边梁及以下
|
||
/// </summary>
|
||
[Description("车体底架边梁及以下")]
|
||
LowChassis = 3,
|
||
/// <summary>
|
||
/// 转向架
|
||
/// </summary>
|
||
[Description("转向架")]
|
||
Bogie = 4,
|
||
/// <summary>
|
||
/// 车下吊挂
|
||
/// </summary>
|
||
[Description("车下轨内吊挂")]
|
||
InnerBodyHanger = 5,
|
||
/// <summary>
|
||
/// 车下吊挂
|
||
/// </summary>
|
||
[Description("车下轨外吊挂")]
|
||
OuterBodyHanger = 6,
|
||
/// <summary>
|
||
/// 轮缘
|
||
/// </summary>
|
||
[Description("轮对")]
|
||
Wheelset = 7,
|
||
///// <summary>
|
||
///// 车下轨内
|
||
///// </summary>
|
||
//[Description("车下轨内")]
|
||
//InnerOthers = 8,
|
||
///// <summary>
|
||
///// 车下轨内
|
||
///// </summary>
|
||
//[Description("车下轨内")]
|
||
//OuterOthers = 9,
|
||
/// <summary>
|
||
/// 无
|
||
/// </summary>
|
||
[Description("不可用")]
|
||
INVAIL = 10
|
||
}
|
||
|
||
/// <summary>
|
||
/// 工况
|
||
/// </summary>
|
||
public enum WorkCondition
|
||
{
|
||
/// <summary>
|
||
/// 空载
|
||
/// </summary>
|
||
[Description("空载")]
|
||
AW0 = 0,
|
||
/// <summary>
|
||
/// 座客荷载
|
||
/// </summary>
|
||
[Description("座客荷载")]
|
||
AW1 = 1,
|
||
/// <summary>
|
||
/// 定员荷载(6人/m2)
|
||
/// </summary>
|
||
[Description("定员荷载")]
|
||
AW2 = 2,
|
||
/// <summary>
|
||
/// 超员荷载(9人/m2)
|
||
/// </summary>
|
||
[Description("超员荷载")]
|
||
AW3 = 3
|
||
}
|
||
/// <summary>
|
||
/// 详细车型分类
|
||
/// </summary>
|
||
public enum DMetro
|
||
{
|
||
[Description("A1型车")]
|
||
A1 = 0,
|
||
[Description("A2型车")]
|
||
A2 = 1,
|
||
[Description("B1型车")]
|
||
B1 = 2,
|
||
[Description("B2型车")]
|
||
B2 = 3
|
||
}
|
||
/// <summary>
|
||
/// 通常车型分类
|
||
/// </summary>
|
||
public enum NMetro
|
||
{
|
||
[Description("A型车")]
|
||
A = 0,
|
||
[Description("B型车")]
|
||
B = 1
|
||
}
|
||
/// <summary>
|
||
/// 道床类型
|
||
/// </summary>
|
||
public enum Ballast
|
||
{
|
||
/// <summary>
|
||
/// 整体
|
||
/// </summary>
|
||
[Description("整体")]
|
||
Monolithic = 0,
|
||
/// <summary>
|
||
/// 碎石
|
||
/// </summary>
|
||
[Description("碎石")]
|
||
Gravel = 1
|
||
}
|
||
/// <summary>
|
||
/// 物理性质
|
||
/// </summary>
|
||
public enum Physics
|
||
{
|
||
/// <summary>
|
||
/// 柔性
|
||
/// </summary>
|
||
[Description("柔性")]
|
||
Flexibility = 0,
|
||
/// <summary>
|
||
/// 刚性
|
||
/// </summary>
|
||
[Description("刚性")]
|
||
Inflexibility = 1
|
||
}
|
||
/// <summary>
|
||
/// 线型
|
||
/// </summary>
|
||
public enum CurveType
|
||
{
|
||
/// <summary>
|
||
/// 直线
|
||
/// </summary>
|
||
[Description("直线")]
|
||
Straight = 0,
|
||
/// <summary>
|
||
/// 曲线
|
||
/// </summary>
|
||
[Description("曲线")]
|
||
Curve = 1
|
||
}
|
||
/// <summary>
|
||
/// 运行环境
|
||
/// </summary>
|
||
public enum Environment
|
||
{
|
||
/// <summary>
|
||
/// 隧道
|
||
/// </summary>
|
||
[Description("隧道")]
|
||
Tunnel = 0,
|
||
/// <summary>
|
||
/// 高架
|
||
/// </summary>
|
||
[Description("高架")]
|
||
Elevated = 1,
|
||
}
|
||
/// <summary>
|
||
/// 高架受电弓高度
|
||
/// </summary>
|
||
public enum ElvateHeight
|
||
{
|
||
/// <summary>
|
||
/// 高架4400mm
|
||
/// </summary>
|
||
[Description("高架4400mm")]
|
||
Elevated_4400 = 0,
|
||
/// <summary>
|
||
/// 高架5000mm
|
||
/// </summary>
|
||
[Description("高架5000mm")]
|
||
Elevated_5000 = 1
|
||
}
|
||
/// <summary>
|
||
/// 高低调节阀
|
||
/// </summary>
|
||
public enum HeightValve
|
||
{
|
||
/// <summary>
|
||
/// 两点高度阀
|
||
/// </summary>
|
||
[Description("两点高度阀")]
|
||
Two = 0,
|
||
/// <summary>
|
||
/// 三点高度阀
|
||
/// </summary>
|
||
[Description("三点高度阀")]
|
||
Three = 1,
|
||
/// <summary>
|
||
/// 四点高度阀
|
||
/// </summary>
|
||
[Description("四点高度阀")]
|
||
Four = 2
|
||
}
|
||
/// <summary>
|
||
/// 超高值
|
||
/// </summary>
|
||
public enum SuperEleValue
|
||
{
|
||
/// <summary>
|
||
/// 通常120mm
|
||
/// </summary>
|
||
[Description("120mm")]
|
||
Normal = 0,
|
||
/// <summary>
|
||
/// 时速120km/h,150mm
|
||
/// </summary>
|
||
[Description("150mm")]
|
||
HighSpeed = 1
|
||
}
|
||
/// <summary>
|
||
/// 超高调节方式
|
||
/// </summary>
|
||
public enum SuperElevSet
|
||
{
|
||
/// <summary>
|
||
/// 仅调节外轨
|
||
/// </summary>
|
||
[Description("仅调节外轨")]
|
||
OneSide = 0,
|
||
/// <summary>
|
||
/// 调节内外轨
|
||
/// </summary>
|
||
[Description("调节内外轨")]
|
||
TwoSides = 1
|
||
}
|
||
/// <summary>
|
||
/// 地点
|
||
/// </summary>
|
||
public enum Location
|
||
{
|
||
/// <summary>
|
||
/// 站台
|
||
/// </summary>
|
||
[Description("站台")]
|
||
Platform = 0,
|
||
/// <summary>
|
||
/// 区间
|
||
/// </summary>
|
||
[Description("区间")]
|
||
Region = 1
|
||
}
|
||
/// <summary>
|
||
/// 方向
|
||
/// </summary>
|
||
public enum HorizonDirection
|
||
{
|
||
/// <summary>
|
||
/// 左转
|
||
/// </summary>
|
||
[Description("左转")]
|
||
Left = 0,
|
||
/// <summary>
|
||
/// 右转
|
||
/// </summary>
|
||
[Description("右转")]
|
||
Right = 1
|
||
}
|
||
/// <summary>
|
||
/// 受流器状态
|
||
/// </summary>
|
||
public enum CollectorStatus
|
||
{
|
||
/// <summary>
|
||
/// 上受流切除向上
|
||
/// </summary>
|
||
[Description("上受流切除向上")]
|
||
Upper = 0,
|
||
/// <summary>
|
||
/// 下受流释放反弹量
|
||
/// </summary>
|
||
[Description("下受流释放反弹量")]
|
||
Lower = 1
|
||
|
||
}
|
||
/// <summary>
|
||
/// 枚举类的扩展类
|
||
/// </summary>
|
||
public static class GetDesc
|
||
{
|
||
|
||
public static string GetDescription(this Enum obj)
|
||
{
|
||
return GetDescription(obj, false);
|
||
}
|
||
private static string GetDescription(this Enum obj, bool isTop)
|
||
{
|
||
//if (obj == null)
|
||
//{
|
||
// return string.Empty;
|
||
//}
|
||
try
|
||
{
|
||
Type _enumType = obj.GetType();
|
||
DescriptionAttribute dna = null;
|
||
if (isTop)
|
||
{
|
||
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(_enumType, typeof(DescriptionAttribute));
|
||
}
|
||
else
|
||
{
|
||
FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, obj));
|
||
|
||
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute));
|
||
}
|
||
if (dna != null && string.IsNullOrEmpty(dna.Description) == false)
|
||
return dna.Description;
|
||
}
|
||
catch
|
||
{
|
||
return string.Empty;
|
||
}
|
||
return obj.ToString();
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 超高设置
|
||
/// </summary>
|
||
public enum SuperelevationSet
|
||
{
|
||
/// <summary>
|
||
/// 仅调节外轨
|
||
/// </summary>
|
||
[Description("仅调节外轨")]
|
||
Semi = 0,
|
||
/// <summary>
|
||
/// 调节内外轨
|
||
/// </summary>
|
||
[Description("调节内外轨")]
|
||
Full = 1,
|
||
}
|
||
}
|