日期:2014-05-18 浏览次数:20858 次
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NorthwindPrjModel { public class Order { private int orderID; private decimal freight; private string shipName; private string shipAddress; private string shipCity; private string shipCountry; public int OrderID { get; set; } public decimal Freight { get; set; } public string ShipName { get; set; } public string ShipAddress { get; set; } public string ShipCity { get; set; } public string ShipCountry { get; set; } } }
public int OrderID { get{return orderID;} set{orderID = value;} }
------解决方案--------------------
我认为啊,我认为
属性相当于一个方法哈。
------解决方案--------------------
人家区分的,和C、C++一样
------解决方案--------------------
这个做的目的 怎么说了?private int orderID;这个是私有的吧,只能在内部访问他..通过 字段封装之后 我就在在外部访问他了:
Order my=new Order();
my.orderID=10; //错误
my.OrderID=10;//正确
明白了不?
------解决方案--------------------
C#是严格区分大小写的!这样写是简单属性:public int OrderID { get; set; },一般属性还是
private int orderID;
public int OrderID
{
get{return orderID;}
set{orderID = value;}
}
------解决方案--------------------
要明白为什么C#要设计属性这个概念
目的:
Cat
{public int height}
如果你这样cat.height=-1; 很不合理 但程序还是赋值了
public int height
{
get{}
set{if(value<0) 报错} 小于0就不给赋值
}
public string ShipName { get; set; } 这样只是一种简便的写法
当你要控制取赋值的时候 还是要写些东西的