在我的例子中,我有一个主构造函数,它使用OracleDataReader作为参数,但我想使用不同的查询来创建实例:
我有这个密码:
公共订阅者(OracleDataReader contractReader){this.contract=转换。ToString(contractReader[“contract”]);this.customerGroup=转换。ToString(contractReader[“customerGroup”]);this.subGroup=转换。ToString(contractReader[“customerSubGroup”]);this.pricingPlan=转换。ToString(contractReader[“定价计划”]);this.items=新字典<string,Member>();this.status=0;}
所以我创建了以下构造函数:
公共订阅者(string contract,string customerGroup):this(getSubReader(contract、customerGroup)){ }
以及此方法:
私有静态OracleDataReader getSubReader(string contract,string customerGroup){ cmd订阅服务器。参数[“:contract”]。价值=合同+“%”;cmd订阅服务器。参数[“:customerGroup”]。值=customerGroup+“%”;返回cmdSubscriber。ExecuteReader();}
注意:静态定义的cmdSubscriber在代码的其他地方定义;我的主要构造器已经被简化为这个示例。