在两个类文件之间共享函数的最佳方法

Ana*_*raj 4 c# methods class

有两个文件A.cs和B.cs.fn()在两个类中都使用了一种方法.

方法fn()用于两个类文件中.如果我在许多类文件中需要此方法(例如100个文件),这会增加代码复杂性.

我知道我们可以通过为定义此方法的类创建一个对象来调用此方法.如何在每次访问此方法时不创建对象的情况下,在两个或多个类之间共享此函数?

DGi*_*bbs 7

将该方法放在静态类中:

public static class Utils
{
     public static string fn()
     {
         //code...
     }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以在每次创建类的新实例时调用它,A.cs而B.cs不是创建它的新实例:

A foo = new A();
foo.Property = Utils.fn();
Run Code Online (Sandbox Code Playgroud)

或者,您可以创建一个BaseClass所有类继承自:

public class BaseClass
{
    public BaseClass() { }
    public virtual string fn()
    {
        return "hello world";
    }
}

public class A : BaseClass
{
    public A() { }
}
Run Code Online (Sandbox Code Playgroud)

然后你会这样打电话fn():

A foo = new A();
string x = foo.fn();
Run Code Online (Sandbox Code Playgroud)