2011-08-24 5 views
0

У меня есть текстовое поле с именем «tb1» (не настоящее имя).Текст текстового поля как имя объекта

Я хочу, когда я нажму кнопку; создайте объект «Продукт» со значением текста «tb1».

Что-то вроде ...

Product tb1.text = new Product(); 

Как мне это сделать?

ответ

3

Вам необходимо переопределить конструктор объекта Product, чтобы он мог принимать строковый параметр.

объект продукта:

public Product(string productName) 
{ 
    //set product name variable using productName parameter 
    _productName = productName; 
} 

И тогда вы можете сделать что-то вроде этого:

//set product name using new constructor 
Product product = new Product(tb1.Text); 
+0

Так что метод идет внутри класса права продукта? Я новичок в OOP: P – dysoco

+0

Да, это переопределение для конструктора, который принимает строковый аргумент, чтобы вы могли установить имя продукта во время инициализации. –

0

Передайте «tb1.text» конструктору продукта при создании с помощью нового ключевого слова.

0

В вашем примере создается продукт, в котором имя переменной является содержимым tb1.Text. Насколько я знаю, это невозможно. Было бы очень сложно понять, что кто-нибудь читает код позже, поэтому, даже если это возможно, не делайте этого. :)

Если вы просто пытаетесь создать продукт, где название продукта устанавливается на значение tb1.Text, вы можете сделать это:

Product someProduct = new Product(); 
someProduct.Name = tb1.Text; 

Или передать в конструктор, как упоминалось Arun ,

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