2012-02-23 3 views
-1

У меня есть программа на C#, которую я разрабатываю.C# 'echo?/Literal?' имя переменной как экземпляр класса

String customerReference = String.Concat(firstName, lastName); 
Customer customerReference = new Customer(firstName, lastName, phoneNumber); 

Я хочу взять «буквальное» значение (если то нужное слово) из customerReference назвать экземпляр класса клиента.

Поскольку я не знаком с синтаксисом языка C#, мой вопрос может показаться запутанным, но, надеюсь, кто-то может помочь.

+3

В чем Ваш вопрос? У вас не должно быть строки И определения класса и объекта Customer с тем же именем. У вас есть определенный класс customerReference? – BlueM

+1

Что вы подразумеваете под названием «Именование экземпляра»? Является ли этот класс 'Customer' тем, что вы написали, или он определен вне вашей программы? –

+0

Что бы вы ни пытались достичь здесь, это невозможно! Предоставьте нам немного больше кода, поэтому мы можем иметь представление о том, чего вы хотите от своего кода. :) – Abbas

ответ

0

Если вы хотите получить Customer экземпляры по имени возможно Dictionary<string, Customer> является то, что вы ищете:

var customerMap = new Dictionary<string, Customer>(); 
string customerKey = firstName + lastName; 
customerMap.Add(customerKey, customerReference); 

//.. 
Customer c = customerMap[customerKey]; 
0

Почему не просто класс клиентов и хранить клиент ссылаться на него, что:

String customerReference = String.Concat(firstName, lastName); 
Customer customerReference = new Customer(firstName, lastName, phoneNumber, customerReference); 

Путем создания имени класса, который вы хотите создать на основе созданной вами справки, вы открываете для себя проблемы. Например, что бы вы сделали, класс, который соответствует ссылке клиента, не существует ..?

Если вы действительно действительно этого хотите, тогда вам нужно будет использовать отражение. Взгляните на класс Activator.

0

Вы не можете объявить переменную с тем же именем customerReference во второй раз в том же объеме, если вы попытаетесь это сделать.

+0

Я уже объявил класс и конструктор. –

+0

И ваша проблема? – BlueM

Смежные вопросы