通过依赖倒置,将子类数据传递给父类
1、不管是父类调用子类的方法,还是获取子类的属性,道理都是一样的,
依赖倒置只是其中一个方法
public class Child:Parent
{
public string Default {get;set;}
public Child()
{
Default="默认值";
}
}
我现在父类需要拿到子类的Default
1、增加一个接口IChild,将接口当做参数传递给父类
代码如下
public interface IChild
{
string Default { get; set; }
void SpecificMethod(int i);
}
public class Child : Parent, IChild
{
public string Default { get ; set ; }
public override void GetMethod()
{
// base.GetMethod(); //这会执行父类的方法
Console.WriteLine("这是子类方法");
}
public void SpecificMethod(int i)
{
Console.WriteLine(i);
}
public Child()
{
Default = "123";
}
}
public class Parent
{
public void GetIChild(IChild child)
{
Console.WriteLine(child.Default);
child.SpecificMethod(i);
}
public virtual void GetMethod()
{
Console.WriteLine("这是父类方法");
}
}
通过 Console.WriteLine(child.Default);
child.SpecificMethod(i);
这样我们就可以获得子类的参数和方法
本文作者:孤沉
本文链接:https://www.cnblogs.com/guchen33/p/18278555
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步