none
Как создать элемент заранее определенного имени. RRS feed

  • Вопрос

  • Как создать элемент заранее определенного имени.

    Пример: имеем класс B и переменную типа стринг в которой записано Name1. Вопрос: как назвать объявление класса B Name1...

    string a = "Name1";
    B *Name1* = new B();
    

    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:30 MSDN Forums Consolidation (От:Visual C#)
    25 апреля 2010 г. 6:02

Ответы

Все ответы

  • Никак. А зачем?

    Имя переменной перестанет существовать после компиляции (почти). Во время работы программы никакого B *Name1* не будет, будет просто пара байт в стеке, или регистр процессора, который будет использоваться в соответствующих местах.

    Может быть Dictionary<string, B> использовать, если переименование нужно для хранения нескольких B с разными "именем"?

    25 апреля 2010 г. 7:24
  • Для простоты в дальнейшем использовании...

    Чтобы записать все в List массив класса, а работать с ними по имени(из List)...Но имя я получаю по ходу выполнения программы...вот не знаю как реализовать...

    25 апреля 2010 г. 7:58
  • в мыслях должно быть типо так:

    List<B> bb = new List<B>{};
    
    //
    
    string name="Name1";
    if(!bb.Contains(name))
    {
    B Name1= new B();
    bb.Add(Name1);
    }
    как то так...

    25 апреля 2010 г. 8:28
  • Dictionary<string, B> bb = new Dictionary<string, B>();
    
    string name="Name1";
          
    if(!bb.ContainsKey(name))
    {
      B newB= new B();
      bb.Add(name, newB);
      // или
      bb[name] = newB;
    }
    
    B bByName = bb[name];
    http://msdn.microsoft.com/ru-ru/library/xfhwa508(VS.90).aspx
    • Помечено в качестве ответа dampirik 25 апреля 2010 г. 9:23
    25 апреля 2010 г. 9:03
  • Спасибо
    25 апреля 2010 г. 9:23