Я хочу создать словарь C #, в котором ключ - это строковое имя статического свойства в классе, а значение - это значение свойства. Учитывая статическое свойство в классе с именем MyResources.TOKEN_ONE, как я могу получить имя свойства, а не его значение? Мне важна только конечная часть имени свойства (например, «TOKEN_ONE»).
Я отредактировал это, чтобы упомянуть, что я не хочу отображать все значения свойств в Словаре, просто небольшое подмножество всего, что находится в классе. Итак, предположим, что я хочу получить имя для одного свойства. Учитывая MyResources.TOKEN_ONE, я хочу вернуть "MyResources.TOKEN_ONE" или просто "TOKEN_ONE".
Вот пример кода, который показывает, что я пытаюсь сделать. Мне нужно имя свойства, потому что я пытаюсь создать переменную javascript, в которой я сопоставляю имя свойства с именем переменной, а значение свойства - со значением переменной. Например, я хочу, чтобы словарь C # генерировал строки, подобные приведенной ниже:
var TOKEN_ONE = "Один";
using System;
using System.Collections.Generic;
namespace MyConsoleApp
{
class Program
{
static void Main(string[] args)
{
Dictionary<String, String> kvp = new Dictionary<String, String>();
// How can I use the name of static property in a class as the key for the dictionary?
// For example, I'd like to do something like the following where 'PropertyNameFromReflection'
// is a mechanism that would return "MyResources.TOKEN_ONE"
kvp.Add(MyResources.TOKEN_ONE.PropertyNameFromReflection, MyResources.TOKEN_ONE);
kvp.Add(MyResources.TOKEN_TWO.PropertyNameFromReflection, MyResources.TOKEN_TWO);
Console.ReadLine();
}
}
public static class MyResources
{
public static string TOKEN_ONE
{
get { return "One"; }
}
public static string TOKEN_TWO
{
get { return "Two"; }
}
}
}