[EntLib]关于SR.Strings的使用办法[加了下载地址]

编写者:郑昀@UltraPower
安装String Resource Generator 1[1].2.5,运行SRGenerator.msi。
然后给自己的工程中添加SR.strings文件,通过VS.NET在现有的.RESXSR.strings文件设置Custom tool属性为:StringResourceToolSRCodeGen。然后就自动生成了SR.cs和SR.resx.
 
使用呢,比如:
我们在SR.strings文件中定义了一行:
ItemNotFoundMessage(key) =  Item not found in cache\r\n\tKey: {0}
那么我们在应用程序中就可以这样:
this.ResultsTextBox.Text += SR.ItemNotFoundMessage(selectItemForm.ItemKey) + "\r\n";
 
其实,这个SR.ItemNotFoundMessage的定义在自动生成的SR.CS文件中:
  public static string ItemNotFoundMessage (string key)
  {
   return Keys.GetString( Keys.ItemNotFoundMessage, key );
  }
 
这种传入方式很利于我们统一应用中的错误描述的生成方式。比如我们可以定义错误描述在SR.strings文件中:
LBS_Request_CannotConnectServer = 无法连接到远端LBS网关服务器:{0}
那么在实际调用时就可以这么:
catch(WebException ex)
{...
    sb.Append(SR.LBS_Request_CannotConnectServer(_Url) );
...
}
 
 
其他的SR.Strings定义方式还有:

Name

Value

Comments

Member on SR class

NotAuthorized

You are not authorized, go away

 

String NotAuthorized { get; }

ArgumentInvalid

Argument {0} is not valid

argumentName

String ArgumentInvalid(object argumentName);

ConnectionBad

Connection server: {0}, database {1} invalid

server,db

String ConnectionBad(object server, object db);

OtherStuff

This {0}, is undefined: {1}

 

String OtherStuff(object arg1, object arg2);


posted @ 2005-04-11 22:36  老兵笔记  阅读(1375)  评论(8编辑  收藏  举报