public string abc;
private string _abc; public string abc{ get{ return _abc;} set{_abc = valve;} }
[quote=引用 12 楼 caozhy 的回复:] (1)只有属性才可以数据绑定,字段不可以 (2)可以添加日志、校验等逻辑,可以拦截字段的修改 (3)可以实现懒惰数据加载提高性能 (4)可以通过多个属性修改一个字段,或者将一个字段的数据通过几个属性表现出来(比如位置是一个Point对象,但是你可以将它拆成x y两个属性,比如字体是一个字段,你可以拆出字体、字号等属性,再比如用二进制掩码表示一系列bool值,等等) (5)可以代替方法。比如说Timer的Start Stop两个方法,被封装成Enabled属性 (6)可以为读写设置不同的访问级别,可以创建只读的属性
[quote=引用 14 楼 wjfwd2010 的回复:] (3)可以实现懒惰数据加载提高性能 求个例子啊不理解啊。
也经常用C# 写点DEMO ,从没有深入的学习过,谢谢各位大侠,收获颇多 我们写的DEMO 没有用过这些玩意,今天看客户这样用的,所以就请教了一下 谢谢
[quote=引用 8 楼 bjf814 的回复:] 写了个简单的例子,平常写实体,经常用到! //汉字自动转拼音 class MyClass1 { private string _Chinese;//汉字 public string Chinese { get { return _Chinese; } set { _Chinese = value; _Spell = CVS(_Chinese);//转换的方法 } } private string _Spell;//拼音 public string Spell { get { return _Spell; } set { _Spell = value; } } } //自动求和 class MyClass2 { private int _A; public int A { get { return _A; } set { _A = value; } } private int _B; public int B { get { return _B; } set { _B = value; } } private int _result; public int Result { get { return _A * _B; } set { _result = value; } } } public class Main { private void chibaolemeishigan() { MyClass1 m1 = new MyClass1(); m1.Chinese = "张三"; string a= m1.Spell;//自动得到拼音了 MyClass2 m2 = new MyClass2(); m2.A = 2; m2.B = 4; int b = m2.Result;//得到值8,这只是简单的算法! //经常在DataGridView中使用,可以自动转换!不用多写代码! } }
//汉字自动转拼音 class MyClass1 { private string _Chinese;//汉字 public string Chinese { get { return _Chinese; } set { _Chinese = value; _Spell = CVS(_Chinese);//转换的方法 } } private string _Spell;//拼音 public string Spell { get { return _Spell; } set { _Spell = value; } } } //自动求和 class MyClass2 { private int _A; public int A { get { return _A; } set { _A = value; } } private int _B; public int B { get { return _B; } set { _B = value; } } private int _result; public int Result { get { return _A * _B; } set { _result = value; } } } public class Main { private void chibaolemeishigan() { MyClass1 m1 = new MyClass1(); m1.Chinese = "张三"; string a= m1.Spell;//自动得到拼音了 MyClass2 m2 = new MyClass2(); m2.A = 2; m2.B = 4; int b = m2.Result;//得到值8,这只是简单的算法! //经常在DataGridView中使用,可以自动转换!不用多写代码! } }
写了个简单的例子,平常写实体,经常用到! //汉字自动转拼音 class MyClass1 { private string _Chinese;//汉字 public string Chinese { get { return _Chinese; } set { _Chinese = value; _Spell = CVS(_Chinese);//转换的方法 } } private string _Spell;//拼音 public string Spell { get { return _Spell; } set { _Spell = value; } } } //自动求和 class MyClass2 { private int _A; public int A { get { return _A; } set { _A = value; } } private int _B; public int B { get { return _B; } set { _B = value; } } private int _result; public int Result { get { return _A * _B; } set { _result = value; } } } public class Main { private void chibaolemeishigan() { MyClass1 m1 = new MyClass1(); m1.Chinese = "张三"; string a= m1.Spell;//自动得到拼音了 MyClass2 m2 = new MyClass2(); m2.A = 2; m2.B = 4; int b = m2.Result;//得到值8,这只是简单的算法! //经常在DataGridView中使用,可以自动转换!不用多写代码! } }
(3)可以实现懒惰数据加载提高性能 求个例子啊不理解啊。
(1)只有属性才可以数据绑定,字段不可以 (2)可以添加日志、校验等逻辑,可以拦截字段的修改 (3)可以实现懒惰数据加载提高性能 (4)可以通过多个属性修改一个字段,或者将一个字段的数据通过几个属性表现出来(比如位置是一个Point对象,但是你可以将它拆成x y两个属性,比如字体是一个字段,你可以拆出字体、字号等属性,再比如用二进制掩码表示一系列bool值,等等) (5)可以代替方法。比如说Timer的Start Stop两个方法,被封装成Enabled属性 (6)可以为读写设置不同的访问级别,可以创建只读的属性
111,097
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧