c# 接口与类 对象之间的转换

wangjulong123 2014-02-17 10:12:18
interface B
{int variable {get;set;}}
Class C_A:B
{public int variable {get;set;}}
C_A a=new C_A();
B b=(B)C_A();此处是不是不需要强制转化呢? 什么时候需要强制转化呢?
b.variable;调用variable
将类赋给接口对象 是不是不需要强制转换啊?编程试了试,不强制转换也可以。
接口对象和类对象 之间什么时候需要强制转换呢?
...全文
928 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjulong123 2014-02-17
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你需要调用对应接口中的方法时,就需要转换,因为接口可以多重继承,所以就会发生 接口A和接口B中方法不一样,但是class A同时继承接口A和B,用谁转成谁
即使是类继承多个接口,依然不用强制转换吧?比如 class a =new class(); interface1 i1=a; interface2 i2=a;这样不就可以了嘛?不用加interface i=(interface)a这样的形式。
wangjulong123 2014-02-17
  • 打赏
  • 举报
回复
即使是类继承多个接口,依然不用强制转换吧?比如 class a =new class(); interface1 i1=a; interface2 i2=a;这样不就可以了嘛?不用加interface i=(interface)a这样的形式。
bdmh 2014-02-17
  • 打赏
  • 举报
回复
你需要调用对应接口中的方法时,就需要转换,因为接口可以多重继承,所以就会发生 接口A和接口B中方法不一样,但是class A同时继承接口A和B,用谁转成谁

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧