猿问

属性与方法

属性与方法

快速问题:何时决定使用属性(在C#中)以及何时决定使用方法?

我们正忙着进行这场辩论,并发现是否应该使用一种财产或一种方法是值得商榷的。一个例子是:

public void SetLabel(string text){
    Label.Text = text;}

在这个例子中,Label是aspx页上的控件。是否有一项原则可以指导决策(在这种情况下),是让它成为一种方法还是一种属性。

我将接受最笼统和全面的答案,但这也涉及到我已经给出的例子。


慕尼黑5688855
浏览 394回答 3
3回答

冉冉说

是的,如果你所做的只是得到和设置,使用一个属性。如果您正在执行一些可能会影响多个数据成员的复杂操作,则使用一个方法更合适。或者,如果您的getter接受参数,或者您的setter接受的值参数超过了值。中间是一个灰色区域,那里的线可能有点模糊。没有硬性规定,不同的人有时会不同意某物是一种财产还是一种方法。重要的是要(相对地)与你,你们去做(或者你的团队是怎么做的)。它们在很大程度上是可互换的,但向用户发出一个属性信号,说明实现相对“简单”。哦,语法也比较简洁。一般来说,我的哲学是,如果您开始编写一个以get或set开头的方法名,并且(分别)取0或一个参数,那么它就是一个属性的主要候选项。
随时随地看视频慕课网APP
我要回答