是否可以进行静态部分类?

Omn*_*Owl 33 c# partial-classes

我想拿一个课,把它分成几个小班,这样就更容易维护和阅读.但是我试图拆分的这个类partial是一个静态类.

我在Stackoverflow的一个例子中看到这是可能的,但是当我这样做时,它一直告诉我,我不能从静态类派生,因为静态类必须从对象派生.

所以我有这个设置:

public static class Facade
{
    // A few general methods that other partial facades will use
}

public static partial class MachineFacade : Facade
{
    // Methods that are specifically for Machine Queries in our Database
}
Run Code Online (Sandbox Code Playgroud)

有什么指针吗?我希望这个Facade类是静态的,这样我就不必在使用之前初始化它.

Gui*_*ume 38

保持命名和修饰符在文件中保持一致:

public static partial class Facade
{
    // A few general methods that other partial facades will use
}

public static partial class Facade
{
    // Methods that are specifically for Machine Queries in our Database
}
Run Code Online (Sandbox Code Playgroud)

  • 除了人类读者的清晰度之外,修饰符不需要相同.如果它们都在一个文件中指定,则另一个可以只有`partial class`,它将使用第一个文件中的修饰符. (2认同)

Mar*_*kus 12

问题不在于班级是一个partial班级.问题是你试图static从另一个派生一个类.导出static类是没有意义的,因为你不能使用多态和其他继承的原因.

如果要定义partial类,请使用相同的名称和访问修饰符创建类.


小智 5

你不需要覆盖任何东西,只需给它们相同的名字:

public static partial class Facade
{
    // this is the 1st part/file
}

public static partial class Facade
{
    // this is the 2nd part/file
}
Run Code Online (Sandbox Code Playgroud)


Tuy*_*ham 5

不能继承静态类.

静态类是密封的,因此不能继承.它们不能从除Object之外的任何类继承.