Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#中使用继承限制方法访问一个子类?_C#_Asp.net - Fatal编程技术网

如何在c#中使用继承限制方法访问一个子类?

如何在c#中使用继承限制方法访问一个子类?,c#,asp.net,C#,Asp.net,这是我的密码 using System; public class parent { public virtual void m1(){ } } public class child1:parent{ public sealed override void m1(){ } } public class child2:parent{ public override void m1(){ //How to stop parent metho

这是我的密码

using System;


public class parent
{
    public virtual void m1(){

    }
}
public class child1:parent{

    public sealed override void m1(){

    }
}

public class child2:parent{

    public override void m1(){    //How to stop parent method here

    }

}
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

在上面的代码中,我有三个类。父类中包含一个只能在child1类中继承的虚拟方法。如何限制继承c#.net中child2类中的父方法

如果我从您的问题中了解到,您希望限制父类只需要由一个类继承,而不需要从该类继承其他类

简单的答案是否定的。这是不可能的


简单的规则是,若您已将类公开并将方法虚化,那个么它可以由n个类继承

如果我从您的问题中了解到,您希望限制父类只需要由一个类继承,而不需要从该类继承其他类

简单的答案是否定的。这是不可能的


简单的规则是,若您已将类公开并将方法虚化,那个么它可以由n个类继承

粘贴相同的代码时,我没有收到任何错误副本,而且它编译得很好。我也没有收到错误,但我想将父方法限制在child2类中。如果您想使类仅用于
child1
,为什么不将其设为私有内部类?除非类中有更多其他类可以继承的代码。对不起,我以为您说您遇到了编译器错误。//提出错误评论不清楚。这是一个错误吗?为什么要这样做?粘贴相同的代码时,我没有收到任何错误副本,而且它编译得很好。我也没有收到错误,但我想将父方法限制在child2 Classic中。如果您想使类仅用于
child1
,为什么不将其设置为私有内部类?除非类中有更多其他类可以继承的代码。对不起,我以为您说您遇到了编译器错误。//提出错误评论不清楚。这是一个错误吗?为什么要这样做?这就是为什么接口很重要。这就是为什么接口很重要。