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
{
}
}
}