程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# Enum 類型的本地化

C# Enum 類型的本地化

編輯:C#入門知識

枚舉類型本地化操作的簡單方案,並應用到Asp.net MVC的DropdownList中。 
\
/// <summary>
    /// Enum Localizable. default resouce key={Prefix}_{Enum}
    /// If you ignore Prefix,will return {EnumTypeName}_{Enum} format
    /// </summary>
[AttributeUsage(AttributeTargets.Enum, AllowMultiple = true, Inherited = true)]
    public class LocalizableAttribute : Attribute
    {
        public LocalizableAttribute(Type language)
        {
            this.LanguageType = language;
        }
        public LocalizableAttribute(Type language, String prefix)
            :this(language)
        {
            Prefix = prefix;
        }

        public Type LanguageType
        {
            get;
            set;
        }
        public string Prefix
        {
            get;
            set;
        }
    }
    public static class EnumerableExtension
    {
public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action)
        {
            foreach (T item in enumerable)
            {
                action(item);
            }
        }

        public static string ToLocalizable(this Enum value)
        {
            LocalizableAttribute customAttr=(LocalizableAttribute) Attribute.GetCustomAttribute(value.GetType(), typeof(LocalizableAttribute));
            ResourceManager _resources = new ResourceManager(customAttr.LanguageType);
            var prefix=customAttr.Prefix;
            if (string.IsNullOrEmpty(prefix))
           &nbs

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved