如何导出嵌套在部分 class 中的 class?
How can I derive a class nested inside a partial class?
如果我有一个抽象 class 嵌套在部分容器中 class 嵌套在另一个 class 中,我如何从基础 [=18] 派生 classes =]?我认为以下内容可行,但它表示由于保护级别而无法访问 BaseClass。不过,我需要派生的 classes 是私有的。
在有人告诉我这是多么糟糕的结构之前,。
class SingletonClass
{
public static partial class ContainerClass
{
abstract class BaseClass
{
}
}
}
static partial class ContainerClass
{
class DerivedClass : BaseClass
{
}
}
您的代码无法编译,因为有两种不同的 ContainerClass
类型。一个是 "normal" class,另一个嵌套在 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
{
}
}
}
如果我有一个抽象 class 嵌套在部分容器中 class 嵌套在另一个 class 中,我如何从基础 [=18] 派生 classes =]?我认为以下内容可行,但它表示由于保护级别而无法访问 BaseClass。不过,我需要派生的 classes 是私有的。
在有人告诉我这是多么糟糕的结构之前,
class SingletonClass
{
public static partial class ContainerClass
{
abstract class BaseClass
{
}
}
}
static partial class ContainerClass
{
class DerivedClass : BaseClass
{
}
}
您的代码无法编译,因为有两种不同的 ContainerClass
类型。一个是 "normal" class,另一个嵌套在 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
{
}
}
}