zoukankan      html  css  js  c++  java
  • Enterprise Library Additions: String Resource Generator

    Enterprise Library Additions: String Resource Generator

     

    Written by: Rickie Lee (rickieleemail#yahoo.com)

    My blog: www.cnblogs.com/rickie

    Enterprise Library v1.0Application Blocks中大量采用SR.strings作为字符串资源文件,记录应用程序中需要的输出信息。通过String Resource Generator处理后,该文件自动产生同名的.CS.RESX文件。其中.CS文件是一个用来访问这些字符串资源的类,包括格式化参数的特性,如.NET {}格式相同,具体可以查阅String.Format帮助。

     

    1. String Resource Generator简介

    Version1.2.5

    作者:Martin, his blog: http://wah.onterra.net/blog/

    Download: http://projectdistributor.readify.net/Projects/Project.aspx?projectId=2

    安装:下载上诉MSI文件安装即可,通过VS.NET在现有的.RESXSR.strings文件设置Custom tool属性为:StringResourceToolSRCodeGen

    蝈蝈俊.net对上述工具也有简单介绍。

     

    2. String Resource Generator v1.2.5新支持如下特性:

    • 支持VB.NET(当然有C#
    • 支持改变类的名称,通过使用不同的.strings文件名
    • 支持定制namespace,通过在solution explorer中设置custom tool namespace属性
    • 支持多个.strings文件,如SR.strings, SR.strings-de, SR.strings-cn,要求后缀中不允许有. dot
    • 当然还有好多其他功能,具体可以查询上述链接

     

    3. SR.strings文件编辑

    特殊字符说明:

    #;   注释字符串

    #!    指定特殊选项

    #! accessor_class_accessibility = public 定义SR类为public,而不是缺省的internal

    #! culture_info = <YourCodeHere> 定义特定的culture,而不是缺省的Culture属性。

    #! generate_class = false 设置不自动生成class,如下所示:

    #! generate_class = false

    [strings.de]

    ResName = German blah

     

    简单的方法是照着Enterprise LibrarySR.strings文件编辑就可以了。如下是节选Security Application Block Quick StartSR.strings文件:

    #

    # Options description:

    #

     

    # Options are specified as lines starting with "#!"

    # To use an option below delete the first # in the corresponding line

     

    # To define the SR class public instead of internal (default):

    ##! accessor_class_accessibility = public

     

    # To use a code fragment as the culture instead of the Culture property (default):

    ##! culture_info = <YourCodeHere>

    # for example, #! culture_info = MyResources.CommonCultureInfo

    # where CommonCultureInfo is a static member of a class MyResources

     

    #! accessor_class_accessibility = public

     

    [strings]

     

    #Messages used by database management scenarios

    CreateUserTitleMessage = Create a new user

    UserCreatedMessage(username) = User {0} created.

    DeleteUserMessage(username) = User {0} deleted.

    AddUserRoleMessage(username, role) = Role {1} added for user {0}.

    DeleteUserRoleMessage(username, role) = Role {1} deleted for user {0}.

    AddUserRoleErrorMessage = Please select a user name and select or enter a role.

    DeleteUserRoleErrorMessage = Please select a user name and a role.

    DeleteUserErrorMessage = Please select a user name.

    ErrorMessage = Error

     

    节选的SR.cs文件(并不是上述SR.strings对应的SR.cs类文件):

    public class SR

    {

        public static System.Globalization.CultureInfo Culture

        {

            get

            {

                return Keys.Culture;

            }

            set

            {

                Keys.Culture = value;

            }

        }

       

        public static string AddUserRoleErrorMessage

        {

            get

            {

                return Keys.GetString(Keys.AddUserRoleErrorMessage);

            }

        }

       

        public static string AuthenticateTitleMessage

        {

            get

            {

                return Keys.GetString(Keys.AuthenticateTitleMessage);

            }

        }

    }

    作者:Rickie Lee (rickieleemail#yahoo.com)

    本文参考String Resource Generator项目和Enterprise Library Security Application Block Quickstart. Special thanks go out to Martin.

     

    Reference:

    1. Rickie, Microsoft patterns & practices Enterprise Library系列分析文章

     

  • 相关阅读:
    swf上传地址
    Nape 获取碰撞点加特效
    vbs打包exe工具
    Air打包exe
    JDK12的安装搭建
    Dubble 入门
    FastDFS 集群
    PAT Advanced 1077 Kuchiguse (20 分)
    高可用4层lvs——keepalived
    PAT Advanced 1035 Password (20 分)
  • 原文地址:https://www.cnblogs.com/rickie/p/108357.html
Copyright © 2011-2022 走看看