这样可以使用C#属性

我的其他开发人员之一的代码类似于以下代码
class Data
{
     public string Prop1
     {
           get
           {
                // return the value stored in the database via a query
           }
           set
           {
                // Save the data to local variable
           }
     }

     public void SaveData()
     {
          // Write all the properties to a file
     }

}

class Program
{
    public void SaveData()
    {
         Data d = new Data();
         // Fetch the information from database and fill the local variable
         d.Prop1 = d.Prop1; 
         d.SaveData();
    }
}

这里Data类的属性数据库动态获取信息.当需要将数据保存到文件时,开发人员将创建一个实例,并使用自我分配填充该属性.然后终于打电话给保存.我试着争辩说,财产的使用是不正确的.但他并不相信.

这是他的观点

>有近20个这样的属性.
>除保存之外,不需要获取所有信息.
>而不是自己编写一个实用程序方法获取所有将在属性中具有相同的重复代码.

这个用法是否正确?

解决方法

我不认为另一位将使用相同代码的开发人员将很高兴看到:
d.Prop1 = d.Prop1;

我个人不会这样做.

此外,使用属性从DB加载数据不是最好的方法.我会有方法将数据从DB加载到本地变量,然后你可以使用属性获取数据.在逻辑上得到/设置必须使用相同的数据.使用get从DB获取数据是奇怪的,但使用set来处理局部变量.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...