-1
我有一个窗体调用类(DbPOS)从SQL中提取特定数据,然后它将保存来自DbPOS的数据,然后将其传递给产品对象构造函数类),然后到Windows窗体以Windows窗体形式显示数据。 (这是我CA的要求,我不能简单地只是“SELECT * FROM TABLE”在Windows窗体本身)不能隐式地将类型'字符串'转换为'namespace.class'
所以我有一个问题,在DbPOS, 它有这个错误,即
无法隐式转换类型 '字符串' 到 'namespace.class',其中 namespace.Class是我的产品类别(对象的构造函数)
DbPOS(部分):
DataTable table = new DataTable();
DataRow row;
conn.Open();
da.Fill(table);
int nProducts = table.Rows.Count;
products = new product[nProducts];
for (int i = 0; i < nProducts; i++)
{
row = table.Rows[i];
pdname = row["name"].ToString();
product p = new product(pdname);
p.PDname = pdname;
products[i] = pdname;
//products[i]=pdname; pdname above has the error
}
产品类:
class product
{
public string pdname;
public product()
{
pdname = "unknown";
}
public product(string pdname)
{
this.pdname = pdname;
}
public string PDname
{
get { return this.pdname; }
set { this.pdname = value; }
}
}
为什么不使用'产品[Ⅰ] = P;'? –
'products [i]'是'product'类数组的索引 - 你试图给这个元素分配一个字符串,因此错误。您只能将'product'的实例分配给该数组中的元素。 – Tim
杰西,我试过了,它从字面上返回字符串'namespace.product'到我的Windows窗体 – LegendDemonSlayer