C# 显示继承接口 -- 由ImageButton:IButtonControl 想到的

IButtonControl 里面又个属性叫Text, 而ImageButton继承IButtonControl ,但是ImageButton里面却没有Text 属性, 原因是ImageButton显示继承了IButtonControl 的Text 属性.

ImageButton:IButtonControl 

{
    
//此处不能使用任何修饰符
    IButtonControl.Text
    
{
         
get
         
{}
          
set
         
{}
           }

   ........
}

这里要注意的是显式继承的时候不能添加任何修饰符(例如public ,protected, private), 查看生成的dll的时候可以发现默认的前面的修饰符是protected virtual.

(1)如何使用显式继承的属性?

把ImageButton转化成IButtonControl然后再通过IButtonControl使用这个属性

IButtonControl currentButtonControl  =  imageButtonTest  as  IButtonControl;
currentButtonControl.Text 
=   " I am a good baby! " ;

(2)ImageButton中看不到Text属性, 我们通过接口修改属性后有什么作用.

因为ImageButton中显示图片,所以不需要显示文本, 但是ImageButton有AlternateText属性, 就是用来在不能显示图片的时候显示的文本.所以下面的代码和上面的执行效果相同.

 imageButtonTest.AlternateText  =   " I am a good baby! " ;

(3) 显示继承的作用

  A, 隐藏属性(方法)

  B, 避免冲突. 当子类中已经有同名方法时候使用.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值