/*
无 = 1
CSharp
PHP
JavaScript
Java
Vb
Sql
Xml
Delphi
Python
Ruby
CSS
C
*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Reflection;
namespace SlowX.Utils.Enums
{
/// <summary>
/// 代码高亮语音
/// </summary>
[Serializable]
public partial class HighlighterLanguage
{
/// <summary>
/// $Em.HighlighterLanguage
/// </summary>
public const string _SortClassName = "$Em.HighlighterLanguage";
#region 枚举 显示表达式
/// <summary>
/// 显示表达式
/// </summary>
public enum EmShowExpress
{
/// <summary>
/// 默认
/// </summary>
默认 = 1
}
#endregion 枚举 显示表达式
#region Enum
/// <summary>
/// 代码高亮语音
/// </summary>
public enum EmHighlighterLanguage
{
/// <summary>
/// 无
/// </summary>
无 = 1,
/// <summary>
/// CSharp
/// </summary>
CSharp,
/// <summary>
/// PHP
/// </summary>
PHP,
/// <summary>
/// JavaScript
/// </summary>
JavaScript,
/// <summary>
/// Java
/// </summary>
Java,
/// <summary>
/// Vb
/// </summary>
Vb,
/// <summary>
/// Sql
/// </summary>
Sql,
/// <summary>
/// Xml
/// </summary>
Xml,
/// <summary>
/// Delphi
/// </summary>
Delphi,
/// <summary>
/// Python
/// </summary>
Python,
/// <summary>
/// Ruby
/// </summary>
Ruby,
/// <summary>
/// CSS
/// </summary>
CSS,
/// <summary>
/// C
/// </summary>
C
}
#endregion Enum
/// <summary>
/// 构造函数
/// </summary>
public HighlighterLanguage()
{
}
/// <summary>
/// 数组
/// </summary>
public readonly static EmHighlighterLanguage[] EmArray = new EmHighlighterLanguage[]
{
EmHighlighterLanguage.无,
EmHighlighterLanguage.CSharp,
EmHighlighterLanguage.PHP,
EmHighlighterLanguage.JavaScript,
EmHighlighterLanguage.Java,
EmHighlighterLanguage.Vb,
EmHighlighterLanguage.Sql,
EmHighlighterLanguage.Xml,
EmHighlighterLanguage.Delphi,
EmHighlighterLanguage.Python,
EmHighlighterLanguage.Ruby,
EmHighlighterLanguage.CSS,
EmHighlighterLanguage.C
};
/// <summary>
/// typeof(HighlighterLanguage) 当前HighlighterLanguage的type值
/// </summary>
public readonly static Type curType = typeof(HighlighterLanguage);
/// <summary>
/// typeof(HighlighterLanguage).FullName
/// </summary>
public readonly static string curTypeFullName = curType.FullName;
/// <summary>
/// typeof(EmHighlighterLanguage) 当前枚举EmHighlighterLanguage的type值
/// </summary>
public readonly static Type curEnumType = typeof(EmHighlighterLanguage);
/// <summary>
/// typeof(EmHighlighterLanguage).FullName
/// </summary>
public readonly static string curEnumTypeFullName = curEnumType.FullName;
/// <summary>
/// 默认的枚举值
/// </summary>
public static readonly EmHighlighterLanguage defaultEm = EmHighlighterLanguage.无;
/// <summary>
/// 默认的枚举值
/// </summary>
private static Dictionary<EmShowExpress, DataTable> dictionaryDataTableValue = CreateDataTable();
/// <summary>
/// 获得Text的数组
/// </summary>
/// <returns></returns>
public static string[] GetTextArray()
{
EmHighlighterLanguage[] emA = EmArray;
int iLen = emA.Length;
string[] theResult = new string[iLen];
for (int i = 0; i < iLen; ++i)
{
theResult[i] = emA[i].ToString();
}
return theResult;
}
/// <summary>
/// 获得显示名称
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public static string GetShowName
(
EmHighlighterLanguage em
)
{
return em.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="em"></param>
/// <param name="curEmShowExpress"></param>
/// <returns></returns>
public static string GetShowName
(
EmHighlighterLanguage em,
EmShowExpress curEmShowExpress
)
{
if (curEmShowExpress == EmShowExpress.默认)
return em.ToString();
else
return em.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="strValues"></param>
/// <param name="valueLinkChar"></param>
/// <param name="textLinkChar"></param>
/// <returns></returns>
public static string GetShowNames
(
string strValues,
string valueLinkChar,
string textLinkChar
)
{
if (strValues == null || strValues.Length == 0)
return "";
string[] sArray = strValues.Split(valueLinkChar.ToCharArray());
StringBuilder theResult = new StringBuilder();
bool isFirst = true;
foreach (string s in sArray)
{
if (s == null || s.Length == 0)
continue;
if (isFirst)
{
isFirst = false;
}
else
{
theResult.Append(textLinkChar);
}
theResult.Append
(
GetShowName
(
GetEmByString(s)
)
);
}
return theResult.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="strValues"></param>
/// <param name="valueLinkChar"></param>
/// <param name="textLinkChar"></param>
/// <returns></returns>
public static string GetShowNames
(
string strValues,
string valueLinkChar,
string textLinkChar,
EmShowExpress curEmShowExpress
)
{
if (strValues == null || strValues.Length == 0)
return "";
string[] sArray = strValues.Split(valueLinkChar.ToCharArray());
StringBuilder theResult = new StringBuilder();
bool isFirst = true;
foreach (string s in sArray)
{
if (s == null || s.Length == 0)
continue;
if (isFirst)
{
isFirst = false;
}
else
{
theResult.Append(textLinkChar);
}
theResult.Append
(
GetShowName
(
GetEmByString(s),
curEmShowExpress
)
);
}
return theResult.ToString();
}
/// <summary>
/// 创建数据表
/// </summary>
/// <returns></returns>
private static Dictionary<EmShowExpress, DataTable> CreateDataTable()
{
Dictionary<EmShowExpress, DataTable> theResult = new Dictionary<EmShowExpress, DataTable>();
theResult.Add(EmShowExpress.默认, CreateDataTableByEmShowExpress(EmShowExpress.默认));
return theResult;
}
/// <summary>
/// 创建数据表
/// </summary>
/// <param name="curEmShowExpress"></param>
/// <returns></returns>
private static DataTable CreateDataTableByEmShowExpress(EmShowExpress curEmShowExpress)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("TheName");
EmHighlighterLanguage[] emA = EmArray;
DataRow dr = null;
foreach (EmHighlighterLanguage em in emA)
{
dr = dt.NewRow();
dt.Rows.Add(dr);
dr["ID"] = (int)em;
dr["TheName"] = GetShowName(em, curEmShowExpress);
}
return dt;
}
/// <summary>
/// 获得DataTable
/// </summary>
/// <returns></returns>
public static DataTable ReturnDataTable()
{
return dictionaryDataTableValue[EmShowExpress.默认];
}
/// <summary>
/// 获得DataTable
/// </summary>
/// <returns></returns>
public static DataTable GetDataTable()
{
return dictionaryDataTableValue[EmShowExpress.默认];
}
/// <summary>
/// 获得DataTable
/// </summary>
/// <param name="curEmShowExpress"></param>
/// <returns></returns>
public static DataTable GetDataTable(EmShowExpress curEmShowExpress)
{
return dictionaryDataTableValue[curEmShowExpress];
}
/// <summary>
/// 获得数据集
/// </summary>
/// <param name="fromCache"></param>
/// <returns></returns>
public static DataTable GetDataTable(bool fromCache)
{
if (fromCache)
return dictionaryDataTableValue[EmShowExpress.默认];
else
return CreateDataTableByEmShowExpress(EmShowExpress.默认);
}
/// <summary>
/// 获得数据集
/// </summary>
/// <param name="curEmShowExpress"></param>
/// <param name="fromCache"></param>
/// <returns></returns>
public static DataTable GetDataTable(EmShowExpress curEmShowExpress,bool fromCache)
{
if (fromCache)
return dictionaryDataTableValue[curEmShowExpress];
else
return CreateDataTableByEmShowExpress(curEmShowExpress);
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByInt(int theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (int)em)
return em;
}
MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByLong(long theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (long)em)
return em;
}
MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByString(string theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == ((int)em).ToString())
return em;
}
MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByObj(object theValue)
{
MethodBase methodBaseValue = null;
if (theValue == null)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为null,没有找到对应的枚举值。");
}
if (theValue is EmHighlighterLanguage)
return (EmHighlighterLanguage)theValue;
string strValue = theValue.ToString();
if (strValue.Length == 0)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为空,没有找到对应的枚举值。");
}
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (strValue == ((int)em).ToString())
return em;
}
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + strValue.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByInt(int theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (int)em)
return em;
}
return defaultEm;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByLong(long theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (long)em)
return em;
}
return defaultEm;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByString(string theValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == ((int)em).ToString())
return em;
}
return defaultEm;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByObj(object theValue)
{
if (theValue == null)
return defaultEm;
if (theValue is EmHighlighterLanguage)
return (EmHighlighterLanguage)theValue;
string strValue = theValue.ToString();
if (strValue.Length == 0)
return defaultEm;
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (strValue == ((int)em).ToString())
return em;
}
return defaultEm;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByInt(int theValue, EmHighlighterLanguage defaultValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (int)em)
return em;
}
return defaultValue;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByLong(long theValue, EmHighlighterLanguage defaultValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == (long)em)
return em;
}
return defaultValue;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByString(string theValue, EmHighlighterLanguage defaultValue)
{
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theValue == ((int)em).ToString())
return em;
}
return defaultValue;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByObj(object theValue, EmHighlighterLanguage defaultValue)
{
if (theValue == null)
return defaultValue;
string strValue = theValue.ToString();
if (strValue.Length == 0)
return defaultValue;
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (strValue == ((int)em).ToString())
return em;
}
return defaultValue;
}
/// <summary>
/// 获得 Text 获得 EmHighlighterLanguage
/// </summary>
/// <param name="theText"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByText(string theText)
{
MethodBase methodBaseValue = null;
if (theText == null)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为null,没有找到对应的枚举值。");
}
if (theText.Length == 0)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为空,没有找到对应的枚举值。");
}
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theText == (em).ToString())
return em;
}
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText = " + theText.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得 Text 获得 EmHighlighterLanguage
/// </summary>
/// <param name="theText"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByText(string theText, EmHighlighterLanguage defaultValue)
{
if (theText == null)
return defaultValue;
if (theText.Length == 0)
return defaultValue;
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (theText == (em).ToString())
return em;
}
return defaultValue;
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetEmByAllObj(object theValue)
{
MethodBase methodBaseValue = null;
if (theValue == null)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为null,没有找到对应的枚举值。");
}
if (theValue is EmHighlighterLanguage)
return (EmHighlighterLanguage)theValue;
string strValue = theValue.ToString();
if (strValue.Length == 0)
{
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为空,没有找到对应的枚举值。");
}
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (strValue == ((int)em).ToString() || strValue == em.ToString())
return em;
}
methodBaseValue = MethodBase.GetCurrentMethod();
throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + strValue.ToString() + "没有找到对应的枚举值。");
}
/// <summary>
/// 获得枚举
/// </summary>
/// <param name="theValue"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static EmHighlighterLanguage GetDefaultEmByAllObj(object theValue, EmHighlighterLanguage defaultValue)
{
if (theValue == null)
return defaultValue;
string strValue = theValue.ToString();
if (strValue.Length == 0)
return defaultValue;
EmHighlighterLanguage[] emA = EmArray;
foreach (EmHighlighterLanguage em in emA)
{
if (strValue == ((int)em).ToString() || strValue == em.ToString())
return em;
}
return defaultValue;
}
}
}