【问题标题】:Does a static method in a non-static class make it a static class c# [duplicate]非静态类中的静态方法是否使其成为静态类c# [重复]
【发布时间】:2020-08-06 06:43:42
【问题描述】:

可能是一个愚蠢的问题,但无论如何我都需要根据我自己的情况提出这个问题。我有一个非静态类,它有一个静态方法和一个非静态方法。类会发生什么,它现在是一个静态类还是一个非静态类,这意味着该类的静态版本只有内存中的静态方法,当您实例化该类时,将有一个包含所有非静态方法的实例-静态方法?我可能会混淆自己。 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】:

    Class1 被认为是非静态的

    但是,如果您要在上面显示的 Class1 上运行说 ReSharper,可能会建议您考虑将其设为 static,因为 Class1没有 实例成员。即static class Class1public static void Class1Method2

    否则,就目前而言,将Class1Method2 设为实例方法是没有意义的,因为没有实例成员可供操作。

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2020-02-17
      • 2012-04-13
      • 1970-01-01
      相关资源
      最近更新 更多