давая экземпляру класса имя переменной - PullRequest
0 голосов
/ 08 августа 2011

Как я могу дать экземпляру класса имя существующей переменной. Я пытаюсь вот так string hex = "BF43F"; Zeugh hex = new Zeugh();, но это неправильно. Я хочу создать объект BF43F со свойствами класса Zeugh.

Ответы [ 2 ]

7 голосов
/ 08 августа 2011

Звучит так, как вы хотите Dictionary<string, Zeugh>.Например:

var d = new Dictionary<string, Zeugh>();
string hex = "BF43F"; 
d.Add(hex, new Zeugh());

(позже)

Zeugh it = d["BF43F"];
0 голосов
/ 08 августа 2011

Нельзя объявлять две переменные с одинаковыми именами в одной и той же области видимости.
Если позже вы получите доступ к переменной hex, как компилятор узнает, имеете ли вы в виду строку "BF43F" или объект Zeugh?

Или вам нужен объект с такими же свойствами, как у объекта Zeugh, но с одним дополнительным строковым свойством для сохранения вашей строки "BF43F" в?

Вы можете создать другой класс, который наследуется от Zeugh и имеет дополнительное строковое свойство:

public class ExtendedZeugh : Zeugh
{
    public string AdditionalString { get; set; }
}

Затем вы можете сохранить вашу строку "BF43F" в этом свойстве:

var hex = new ExtendedZeugh();
hex.AdditionalString = "BF43F";
...