【问题标题】:How to make a method accessible from any other classes from the project [duplicate]如何使项目中的任何其他类都可以访问方法[重复]
【发布时间】:2021-02-20 22:47:17
【问题描述】:

我有一个非常基本的方法,我想在很多课程中经常调用它。

public void MessageErreur(String message)
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine(message);
    Console.ResetColor();
} 

我想知道是否有一种方法可以只在某个地方编写一次,而不是为我的每个项目的类创建一个新的。 谢谢。

【问题讨论】:

    标签: c# methods


    【解决方案1】:

    你可以创建一个静态帮助类:

    public static class Helper
    {
        public static void MessageErreur(String message)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(message);
            Console.ResetColor();
        }
    }
    

    然后像这样使用它

        Helper.MessageErreur("text");
    

    附:如果您使用的是最新版本的 C# 和 .Net,您可以尝试实现 default interface methods。所以代码应该是这样的:

    interface IErrorMessager
    {
        public void MessageErreur(string message)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(message);
            Console.ResetColor();
        }
    }
    

    不过,静态助手实现看起来更自然。

    【讨论】:

      【解决方案2】:

      对于静态可重用代码

      
      public static class SharedMethods
      {
          public static void SharedReusableMethod1()
          {
           
          }
      
      }
      
      // USAGE
      
      private void SomeMethod()
      {
          SharedMethods.SharedReusableMethod1();
      
      }
      
      

      实例方法相同,只需要创建实例

      public class InstanceMethods
      {
          public void SharedReusableMethod2()
          {
           
          }
      
      }
      // USAGE
      private void SomeMethod()
      {
          var c = new InstanceMethods();
          c.SharedReusableMethod2();
      
      }
      

      在这两种情况下,代码都是可重用的

      【讨论】:

        猜你喜欢
        • 2018-11-06
        • 2014-12-05
        • 1970-01-01
        • 2020-09-18
        • 2020-12-12
        • 1970-01-01
        • 2012-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多