在 javascript 中,可以使用点符号而不是括号表示法访问对象的属性 - 可以使用object.propertyName
代替object["propertyName"]
。
如何在C#中执行此操作?
作为一个例子,假设我有一个辅助类来从资源文件中返回值:
public static class ResourceHelper
{
public static string get(string resourceName)
{
uint language = SPContext.Current.Web != null ? SPContext.Current.Web.Language : 1033;
return SPUtility.GetLocalizedString("$Resources:" + resourceName, "Comp.Dept.Proj.Farm\\Resources", language);
}
}
所以在这里,而不是
ResourceHelper.get("SQL_CONNECTION_STRING")
是否可以做类似
的事情ResourceHelper.SQL_CONNECTION_STRING
代替?
如果是,怎么样?我觉得这会使代码更容易阅读,IMO。
答案 0 :(得分:5)
你可以像这样创建一个属性
public static string SqlConnectionString {
get {
return get("SQL_CONNECTION_STRING");
}
}
在你的班级,但我猜你正在寻找自动完成的事情......
答案 1 :(得分:2)
您需要为此创建一个属性。
在ResourceHelper.cs中,添加
public string SQL_CONNECTION_STRING
get{return get("SQL_CONNECTION_STRING"); }