gpt4 book ai didi

c# - 重载构造函数和重用代码

转载 作者:太空狗 更新时间:2023-10-29 23:57:09 25 4
gpt4 key购买 nike

假设我有一个对象 Customer,它有几个属性(IDFirstNameLastName ).我有默认的构造函数 Customer(),但是我也有一个 Customer(DataRow dr),因为我从数据库加载这个对象,这是一个简单的方法。

我经常遇到要设置另一个构造函数 Customer(int ID) 的情况,有时我想加载一个 Customer 但我还没有' 完成了对数据库的访问。对我来说最简单的方法似乎是这样的:

Customer(int ID)
{
DataTable dt = DataAccess.GetCustomer(ID);
if (dt.Rows.Count > 0)
{
// pass control to the DataRow constructor at this point?
}
else
{
// pass control to the default constructor at this point?
}
}

重用 DataRow 构造函数中已有的代码是有意义的,但我想不出一种方法来调用它并返回它给我的内容。通过谷歌搜索,我找到了有关使用 : this() 语法重载构造函数的信息,但所有这些示例似乎都是向后的或与我正在尝试做的不兼容。

所以我对构造函数的理解存在差距,但我似乎无法理清。我错过了什么?

最佳答案

最简单的解决方案似乎是:构造另一个函数来完成您想要完成的工作,并让两个构造函数都调用该函数。

关于c# - 重载构造函数和重用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/383347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com