日期:2014-05-19  浏览次数:20799 次

请问这是什么意思?
public   virtual   string   Server  
{
set   {throw   new   InvalidOperationException();}
get   {return   " ";}
}
请问,这是什么意思呢?

什么虚属性呢?在属性的set   方法里面,抛出异常有什么用?不太懂了。请用过这种方法的朋友指点一二。

------解决方案--------------------
不允许设置,


不过写的不好
直接不提供set即可

------解决方案--------------------
这个属性是只读的
如果代码中有赋值语句,就抛出操作异常信息
------解决方案--------------------
public virtual string Server
{
set {throw new InvalidOperationException();}
get {return " ";}
}

obj.Server = "server ";
这里调用了 set
所以
执行
set {throw new InvalidOperationException();}
就抛异常了
------解决方案--------------------
这个,往往是编程故意这么做——让你没法子设置,他给你属性,但就是不让你用

——经常看到这种人的,呵呵~~

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
联系方式:Q64180940(请清楚注明业务还是技术咨询) 全天在线
==================================================================
------解决方案--------------------
告诉你在基类里没有实现属性的set,但建议子类重写。如果把set去掉,那么子类设计时就不能(或容易忘记)重写了。
在java中因为要显式的说明Exception,所以这样做在子类设计时很容易得到提示属性的set还没有重写。在java 设计中这种方式显得更有用。

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