一个非静态类中的静态方法是否会使其成为静态类c#[重复]

问题描述 投票:0回答:1

可能是一个愚蠢的问题,但为了我自己的背景,我还是要问一下。 我有一个非静态类,它有一个静态方法和一个非静态方法。 这个类会发生什么,它现在是一个静态类和一个非静态类,这意味着在内存中只有静态方法的静态版本,当你实例化这个类时,会有一个包含所有非静态方法的实例?我可能把自己搞糊涂了。C# .net框架.非静态类有静态和非静态方法。

public class Class1
{
    public static string Class1Method()
    {
        return "static";
    }

    public void Class1Method2()
    {
        //Not Static
    }
}

第二个类,会使用它。

public class Class2
{
    public void Class2Method()
    {
        Class1.Class1Method();
        new Class1().Class1Method2();
    }
}
c# .net static-methods c#-8.0 static-classes
1个回答
1
投票

Class1 被认为是 非静态.

然而,如果你要把ReSharper运行在 Class1 如上所述,它可能会建议你考虑将它变成 static 因为 Class1没有 实例成员static class Class1 以及 public static void Class1Method2.

否则,按照现在的情况,没有必要做出。Class1Method2 实例方法,因为没有实例成员可以执行。

© www.soinside.com 2019 - 2024. All rights reserved.