[EntLib]关于SR.Strings的使用办法[加了下载地址]
编写者:郑昀@UltraPower
SRGenerator.msi下载地址:http://projectdistributor.readify.net/Projects/Project.aspx?projectId=2
安装String Resource Generator 1[1].2.5,运行SRGenerator.msi。
然后给自己的工程中添加SR.strings文件,通过VS.NET在现有的.RESX或SR.strings文件设置Custom tool属性为:StringResourceTool或SRCodeGen。然后就自动生成了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 );
}
{
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); |