是否可以在派生类或任何其他类中调用Abstract类的方法。我的代码在下面,我想在Program的Main方法中调用Abstr的Describe()
方法。
可能吗?如果答案是肯定的,怎么办?
class Program
{
public void Main()
{
//I want to call the Describe() method here, how do i do that
Console.ReadLine();
}
}
public abstract class Abstr
{
public void Describe()
{
//do something
}
}
最佳答案
由于您的方法不是静态的,因此需要从该抽象类中初始化一个变量,然后从中调用该方法。为此,您可以通过concreate类继承抽象类,然后调用该方法。请注意,无法初始化抽象类,引发类似Abstr abstr = new Abstr();
的构造函数无效。所以:
public abstract class Abstr
{
public void Describe()
{
//do something
}
}
public class Concrete : Abstr
{
/*Some other methods and properties..*/
}
class Program
{
public void Main()
{
Abstr abstr = new Concrete();
abstr.Describe();
Console.ReadLine();
}
}
关于c# - 是否可以在派生类或任何其他类中调用Abstract类的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6737590/