您可以在这里快速查找:


 
您的位置: 编程学习 > asp编程 > 200601
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

设计Property时常犯的一个错误(set)

sukey00

属性:在.NET Framework中的CLS支持两种不同的属性(呵呵,看到这里不要以为就是只读get和只写set属性),分别是标量属性和矢量属性。什么意思呢?

标量属性表示单个类的特性,这个属性可以使一个基本值,如int,DateTim,Color,在C#语法中,标量属性不能参数化(Visual Basic .NET除外)。

矢量属性就是我们通常所说的索引器,它表示一个结构,他允许在类上使用像数组那样的语法。

对于他们具体的用法,MSDN有更加详细的说明,我这里只谈谈设计标量属性时,常犯的一个错误

先看看编写Set过程的原则:

定义一个读/写或者只写属性时,需要考虑如何编写Set访问器,最重要的是如何处理非法值,一种方法是抛出一个异常,表示客户代码不能接受非法值。另外,就是在set过程中容错。

对于Property的Set指示器,有如下的简单的代码

public class MyProperty
    
{
        private int
 nAge;
        public
 MyProperty()
        
{
        }

        public int Age
        
{
            get{return nAge;}

            set
            {
                // 如果输入的年龄小于0,就让他等于0

                if(nAge <=0)
                
{
                    nAge =  0
;
                }

                else