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

SNa*_*Nag 1 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);
        }
    }
Run Code Online (Sandbox Code Playgroud)


所以在这里,而不是

ResourceHelper.get("SQL_CONNECTION_STRING")
Run Code Online (Sandbox Code Playgroud)

是否可以做类似的事情

ResourceHelper.SQL_CONNECTION_STRING
Run Code Online (Sandbox Code Playgroud)

代替?

如果有,怎么样?我觉得这会使代码更容易阅读,IMO.

okr*_*now 5

您可以创建这样的属性

public static string SqlConnectionString {
  get {
    return get("SQL_CONNECTION_STRING");
  }
}
Run Code Online (Sandbox Code Playgroud)

在你的班级,但我想你正在寻找一些自动化的东西......