设置变量——构造函数/get/set c#
本文关键字:set get 构造函数 变量 设置 | 更新日期: 2023-09-27 18:10:07
我有段时间没编程了,所以我忘了一些东西。
我有一个"昆德"班。加上一些变量:
class Kunde
{
private string _navn;
private string _adresse;
private int _postnr;
private string _by;
private int _telefonnr;
private int _mobil;
private string _email;
private string _land;
private string _oplysning;
private int _kundenr;
//Erhverv:
private int _cvr;
private string _firmanavn;
private string _kontaktperson;
//Tom konstruktør
public Kunde()
{
}
//privat
public Kunde(string navn, string adresse, int postnr, string by, int telefonnr, int mobil, string email, string land, string oplysning, int kundenr)
{
_navn = navn;
_adresse = adresse;
_postnr = postnr;
_by = by;
_telefonnr = telefonnr;
_mobil = mobil;
_email = email;
_land = land;
_oplysning = oplysning;
_kundenr = kundenr;
}
}
}
我的问题是……我有一个带有一些文本字段的winform,但不是每个字段都必须填充数据。应该在每个变量上做一个get/set,以便能够从另一个类设置变量,还是为每个选项创建一个构造函数?
最好的方法是什么?
只需为每个成员提供Get访问器和可选的Set访问器。
你必须选择某种形式的数据绑定+验证从你的表单工作。但是Customer类有自己的设计和逻辑。
在c# 4.0中,你可以在调用构造函数时指定属性的值。
var kunde = new Kunde()
{
Navn = navn,
Adresse = adresse,
// all your properties
};
为您的每个字段创建get
/set
访问器,然后您可以指定您想要设置的任何属性。
您最好只保留默认构造函数,并为需要读取或设置的每个数据创建公共属性。
你可以保留你的构造函数的参数-但只有那些真正必须为你的每个昆德-n填充的参数。
如果你打算将你的昆德对象直接绑定到一些绑定源并显示它们,例如在一些网格/列表和/或树视图中,你也可以考虑实现一些相关的接口:System.ComponentModel.INotifyPropertyChanged;
,你可以考虑将Attribute-s应用到你的公共属性中——比如System.ComponentModel.DisplayNameAttribute;-它可以在DataGrid中定义固定的头名称,或者可以针对不同的语言进行本地化
public string Adresse { get; private set; }
等,你有一个自动变量是只读的,除了在类内。