请问这是什么意思?
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就会抛出异常你在子类里重载这个属性就好了。