C# 如何从父类继承的子类调用parentfunction?
我目前正在处理一个函数,我想从该函数调用父函数,从传递给该函数的子函数调用父函数 但似乎无法访问父级中的函数。父类中的所有内容都是公共的 那么为什么不能从我的子类访问我的父函数呢 例如:C# 如何从父类继承的子类调用parentfunction?,c#,inheritance,C#,Inheritance,我目前正在处理一个函数,我想从该函数调用父函数,从传递给该函数的子函数调用父函数 但似乎无法访问父级中的函数。父类中的所有内容都是公共的 那么为什么不能从我的子类访问我的父函数呢 例如: public class Parent { public parent(); public void oblige(); } public class child : parent { public child(); public void work(); } publ
public class Parent
{
public parent();
public void oblige();
}
public class child : parent
{
public child();
public void work();
}
public class house
{
public house();
public void child_labour(Child child)
{
//child.base.parent.oblige()?
}
}
试试这个:
public class Program
{
static void Main(string[] args)
{
var house = new House();
var child = new Child();
house.child_labour(child);
Console.ReadKey();
}
}
public class Parent
{
public void Oblige()
{
Console.WriteLine("CallOblige");
}
}
public class Child : Parent
{
public void Work()
{
Console.WriteLine("Child Working");
}
}
public class House
{
public void child_labour(Child child)
{
child.Oblige();
}
}
当你跑的时候,你会得到“电话许可”
p、 你需要检查C#语法,正如我所看到的,你学习了太多愚蠢的错误。
例如,您不需要默认构造函数。
祝你一切顺利 首先,如果您必须编写constructor,那么方法至少是空括号。像这样
public class Parent
{
public Parent()
{
}
public void Oblige()
{
}
}
第二,你应该阅读理解访问的基本原则
代码示例:
class Program
{
static void Main(string[] args)
{
House house = new House();
Child child = new Child();
house.child_labour(child);
}
}
public class Parent
{
public Parent()
{
}
public void Oblige()
{
Console.WriteLine("Hello world");
}
}
public class Child : Parent
{
public Child()
{
}
public void Work()
{
}
}
public class House
{
public House()
{
}
public void child_labour(Child child)
{
child.Oblige();
}
}
执行
child.current()
时会出现什么错误?我无法调用该函数,intellisense不自动完成..您确定父方法是公共的吗?你确定继承正确吗?这可能是一个输入错误,但父类是parent
,但子类继承自parent
…请参见此示例@Archer facepalm我没有注意到:parent
部分。这是它不起作用的唯一原因。