【发布时间】:2013-02-13 12:33:56
【问题描述】:
我习惯于创建一个属性类,我将在其中包含所有字段,并且必须编写所有 get/set 属性,然后有另一个数据库类,我将在其中进行所有数据库调用。
Properties Class
private int _intCard
public int IntCard
{
set { _intcard = value;}
}
Constructor here
现在感觉这不是正确的方法,因为我要处理 120 多个属性,并且必须将这些属性中的每一个都写出来似乎非常耗时。我需要为某些属性添加验证是我选择这种方式的原因,我可以在 set 方法中验证它。谁能提出一种我可以研究的替代方法来完成相同的结果。
********************---------------*******************
因此,我理解我的设计存在缺陷,这就是我想到这个问题的原因。我对如何解决此问题有一个想法,但不知道这是否是解决此问题的正确方法。我搜索了对象设计原则并阅读了它,但需要更多时间来掌握它教给我的东西。现在我想知道这种方法是否正确
我正在跟踪申请人的姓名、地址、电话、传真号码、手机、替代电话、替代地址,配偶相同,然后是子女、推荐信、公司信息……等等
我不会撒谎,我还不了解抽象类,如果这是我应该采取的方法,我将花更多时间来学习它,但现在希望这会是合适的。
属性类如下 申请者.cs、申请者配偶.cs、申请者联系信息.cs、appreferences.cs......
这符合我应该做的吗?
再次感谢
【问题讨论】:
-
为什么不使用自动属性来代替..?如果您没有对属性做任何独特的事情
-
@DJKRAZE 这是因为他想在 setter 中执行验证。但是,我建议可以使用带有数据注释的自动属性来执行验证(尽管我也同意 Brian 的观点,120 个属性在一个类中似乎很多!)
-
@DJKRAZE
Class.IntCard.set' must declare a body because it is not marked abstract or extern. Automatically implemented properties must define both get and set accessors. -
如果你不想验证,那么你可以简单地写 public int intcard{get;set;}
-
@krshekhar 是的,但是由于他明确表示他想在 set 方法中验证它,所以这不是很有帮助!