String作为变量(Dot-notation而不是括号表示法)?

时间:2013-12-26 12:28:13

标签: c#

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。

2 个答案:

答案 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"); }