C#扩展方法类库StringExtensions

来源:互联网 发布:香港阿里云 淘宝 编辑:程序博客网 时间:2024/04/29 14:38
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Globalization;using System.IO;using System.Web;using System.Web.UI.WebControls;using System.ComponentModel;using System.Reflection;using ECS.Utility;public static class StringExtensions{    public static void BindEnumList(this CheckBoxList ddl, Type obj)    {        if (!obj.IsEnum)            throw new Exception("value not enum!");        var itemArr = Enum.GetValues(obj);        foreach (var item in itemArr)        {            ddl.Items.Add(new ListItem(item.ToString(), ((int)item).ToString()));        }    }    public static void BindEnumList(this DropDownList ddl, Type obj)    {        if (!obj.IsEnum)            throw new Exception("value not enum!");        var itemArr = Enum.GetValues(obj);        foreach (var item in itemArr)        {            ddl.Items.Add(new ListItem(item.ToString(), ((int)item).ToString()));        }    }    public static void BindEnumDescriptionList(this DropDownList ddl, Type obj)    {        if (!obj.IsEnum)        {            throw new ArgumentException("enumItem requires a Enum ");        }        var itemArr = Enum.GetValues(obj);        string[] names = Enum.GetNames(obj);        FieldInfo fieldInfo;        object[] attributes;        DescriptionAttribute descriptionAttribute;        foreach (string name in names)        {            fieldInfo = obj.GetField(name);            attributes = fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);            var value = (int)fieldInfo.GetValue(typeof(string));            if (attributes.Length > 0)            {                descriptionAttribute = attributes.First() as DescriptionAttribute;                if (descriptionAttribute != null)                {                    ddl.Items.Add(new ListItem(descriptionAttribute.Description, value.ToString()));                }            }        }    }    public static int ToInt(this string value)    {        return Int32.Parse(value);    }    public static int ToInt(this string value, int defaultValue)    {        var result = defaultValue;        return int.TryParse(value, out result) ? result : defaultValue;    }    public static int? ToNullableInt(this string value)    {        int result;        if (string.IsNullOrEmpty(value) || !int.TryParse(value, out result))        {            return null;        }        return result;    }    public static decimal ToDecimal(this string value)    {        return decimal.Parse(value);    }    public static decimal ToDecimal(this string value, decimal defaultValue)    {        var result = defaultValue;        return decimal.TryParse(value, out result) ? result : defaultValue;    }    public static decimal ToRoundDecimal(this string value, decimal defaultValue, int decimals)    {        var result = defaultValue;        result = Math.Round(decimal.TryParse(value, out result) ? result : defaultValue, decimals);        return result;    }    public static decimal? ToNullableDecimal(this string value)    {        decimal result;        if (string.IsNullOrEmpty(value) || !decimal.TryParse(value, out result))        {            return null;        }        return result;    }    public static short? ToNullableShort(this string value)    {        short result;        if (string.IsNullOrEmpty(value) || !short.TryParse(value, out result))        {            return null;        }        return result;    }    public static DateTime? ToNullableDateTime(this string value)    {        DateTime result;        if (DateTime.TryParse(value, out result))        {            return result;        }        return null;    }    public static DateTime ToDateTime(this string value)    {        return DateTime.Parse(value);    }    public static byte? ToNullableByte(this string value)    {        byte result;        if (string.IsNullOrEmpty(value) || !byte.TryParse(value, out result))        {            return null;        }        return result;    }    public static bool? ToNullableBool(this string value)    {        bool result;        if (string.IsNullOrEmpty(value) || !bool.TryParse(value, out result))        {            return null;        }        return result;    }    public static bool ToBool(this string value)    {        return bool.Parse(value);    }    /// <summary>    /// 去掉字符串中的html    /// </summary>    /// <param name="value"></param>    /// <returns></returns>    public static string ToNoHtmlString(this string value)    {        return Util.StripHTML(value).Trim();    }}


 

0 0
原创粉丝点击