我有两个班级模型(客户和订单)
public class customer
{
private string _cid;
public string cid
{
get { return _cid; }
set { _cid = value; }
}
private string _name;
public string name
{
get { return _name; }
set { _name = value; }
}
private string _Tel;
public string Tel
{
get { return _Tel; }
set { _Tel = value; }
}
}
// ===============================
public class order
{
private string _oid;
public string oid
{
get { return _oid; }
set { _oid = value; }
}
private string _date;
public string date
{
get { return _date; }
set { _date = value; }
}
private customer _cust = new customer();
public customer cust
{
get { return _cust; }
set { _cust = value; }
}
}
我从这两个类模型中创建了一个关系对象 如下
order obj = new order
{
oid = "1",
date = "12/12/2014",
cust.cid = "1",
cust.name = "mohamed",
cust.Tel = "00201143683774"
};
现在我有一个对象有很多类模型,它的名字是obj。
问题是
过滤它的最短方法是什么,如下所示。
public object filterobj(object objname,string modelname)
{
// ??? how filter object and return class model by his name properties collection
}
filterobj(obj , "order"); // return order class model properties collection (oid & date)
// or
filterobj(obj , "customer"); // return customer class model properties collection (cid , name & Tel)
答案 0 :(得分:0)
这似乎不是解决问题的好方法。我认为您将关系数据库概念与OOP混淆。
首先,您不应直接初始化_cust
。通过酒店来做。毕竟,您需要字段_cust
的有效输入,对吧? (即customer
对象已被实例化。)
其次,为什么需要过滤它?您可以使用属性customer
从order
对象中检索cust
对象。查看filterobj
函数,它返回一个对象。您仍然需要检查它是否返回了正确类型的对象(customer
或order
)。
所以,总结一下,这是我的答案:
_cust
cust
。order
。但我认为情况并非如此。我希望它有所帮助。我是新来的。