Как получить доступ к словарю из функции другого класса в C #? - PullRequest
1 голос
/ 11 ноября 2011

Я создал класс с именем "EngDictionary".и затем я определяю словарь в функции, например:

public void Dict()
    {
        Dictionary<string, string> d = new Dictionary<string, string>();
        d.Add("Classifieds", "Kleinanzeigen");
        //d.Add("windows", 5);   
    }

Теперь я хочу получить доступ к определенному выше словарю из моего основного класса для получения ключей и значений моего словаря.Пожалуйста, предложите мне код.Я использую Visual C # 2008 Express Edition, Win Application

Ответы [ 3 ]

3 голосов
/ 11 ноября 2011

Объявить словарь как свойство класса.

public class Dict {

   private Dictionary<string, string> dict;
   public SomeDictionary { get dict; set dict = value; }

   public Dict() {
      dict = new Dictionary<string, string>();
      dict.Add("Classifieds", "Kleinanzeigen");
   }
}

В другом классе:

Dict d = new Dict();
string test = d.SomeDictionary["Classifieds"];
Console.WriteLine(test);
1 голос
/ 11 ноября 2011

вернуть словарь из метода.

public Dictionary<string, string> Dict() {.... ; return d;}

В вашем основном классе.

EngDictionary dict = new EngDictionary();
Dictionary<string, string> dictionary = dict.Dict();
0 голосов
/ 11 ноября 2011

Вы можете объявить Dictionary<string, string> d как переменную-член вашего класса и инициализировать этот объект в конструкторе класса. У вас может быть метод getter для получения словаря в других классах.

public class EngDictionary
{
    Dictionary<string, string> dictionary;
    public void EngDictionary()
   {
        dictionary = new Dictionary<string, string>();
        dictionary.Add("Classifieds", "Kleinanzeigen");
        ....
    }

   public Dictionary<string, string> getDictionary()
   {
         return this.dictionary;
   }

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...