Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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/0/backbone.js/2.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#_Derived Class_Nested Class_Partial Classes - Fatal编程技术网

C# 如何派生嵌套在分部类中的类?

C# 如何派生嵌套在分部类中的类?,c#,derived-class,nested-class,partial-classes,C#,Derived Class,Nested Class,Partial Classes,如果有一个抽象类嵌套在另一个类中嵌套的部分容器类中,如何从基类派生类?我认为下面的方法可行,但它说由于保护级别的原因,基类是不可访问的。但我需要派生类是私有的 在有人告诉我这是一个多么糟糕的结构之前 由于存在两种不同的ContainerClass类型,因此代码无法编译。一个是“普通”类,另一个嵌套在SingletonClass中。如果不涉及名称空间,则第一个名称空间的全名为SingletonClass.ContainerClass,而第二个名称空间的全名为ContainerClass(即两种不同

如果有一个抽象类嵌套在另一个类中嵌套的部分容器类中,如何从基类派生类?我认为下面的方法可行,但它说由于保护级别的原因,基类是不可访问的。但我需要派生类是私有的

在有人告诉我这是一个多么糟糕的结构之前


由于存在两种不同的
ContainerClass
类型,因此代码无法编译。一个是“普通”类,另一个嵌套在
SingletonClass
中。如果不涉及名称空间,则第一个名称空间的全名为
SingletonClass.ContainerClass
,而第二个名称空间的全名为
ContainerClass
(即两种不同的类型)

要执行您想要的操作,还需要将
SingletonClass
部分化:

partial class SingletonClass
{
    public static partial class ContainerClass
    {
        abstract class BaseClass
        {

        }
    }
}

partial class SingletonClass
{
    public static partial class ContainerClass
    {
        class DerivedClass : BaseClass
        {

        }
    }
}

将你的SingletonClass部分化,并将容器类的第二部分嵌套在SingletonClass中。你的相关问题并不能证明你的设计决策是正确的。这仍然是个坏主意。如果您想要继承,那么基类可能不应该嵌套。我建议不要这样做。考虑重新设计。谢谢,这会起作用,但我想出了一个更优雅的解决我的整体问题的办法。
partial class SingletonClass
{
    public static partial class ContainerClass
    {
        abstract class BaseClass
        {

        }
    }
}

partial class SingletonClass
{
    public static partial class ContainerClass
    {
        class DerivedClass : BaseClass
        {

        }
    }
}