public virtual string Server 
{
set {throw new InvalidOperationException();}
get {return "";}
}
请问,这是什么意思呢?什么虚属性呢?在属性的set 方法里面,抛出异常有什么用?不太懂了。请用过这种方法的朋友指点一二。

解决方案 »

  1.   

    不允许设置,
    不过写的不好
    直接不提供set即可
      

  2.   

    public virtual string Server 
    {
    set {throw new InvalidOperationException();}
    get {return "";}
    }obj.Server = "server";
    这里调用了 set
    所以
    执行
    set {throw new InvalidOperationException();}
    就抛异常了
      

  3.   

    这个没什么特殊意思,就是告诉你,你调用了set方法而已
      

  4.   

    这个,往往是编程故意这么做——让你没法子设置,他给你属性,但就是不让你用——经常看到这种人的,呵呵~~==================================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
    联系方式:Q64180940(请清楚注明业务还是技术咨询)  全天在线
    ==================================================================
      

  5.   

    告诉你在基类里没有实现属性的set,但建议子类重写。如果把set去掉,那么子类设计时就不能(或容易忘记)重写了。
    在java中因为要显式的说明Exception,所以这样做在子类设计时很容易得到提示属性的set还没有重写。在java 设计中这种方式显得更有用。
      

  6.   

    这个就是基类里边不让set如果你要set就会抛出异常你在子类里重载这个属性就好了。