如何在c#中的所有文件之间使用方法

本文关键字:文件 之间 使用方法 | 更新日期: 2023-09-27 18:02:32

所以我试图利用一个简单的日志功能在我的c#项目中的所有文件。(visual studio 2010)我在vb.net中做了这个项目,现在我正试图重写它,并在c#中清理它。我也是c#的新手,所以提前道歉。

在vb.net中很简单:

  • 创建。vb文件
  • 把它放到项目的libraries文件夹中
  • 然后在任何你想在库文件中使用方法的文件中,在顶部放置"Imports"。

太棒了,只有c#似乎不允许这样做。我试过"using .",但是智能感知只能让我放"using . library",其中library是类所在文件夹的名称。

经过一些谷歌搜索和研究,似乎c#不允许全局方法,我认为这是一个通常不鼓励的做法。

日志方法具有要写入的文件和要附加的消息的输入参数。它不是很长,但我觉得在每个我想使用它的类中重新编写代码是一种浪费。

我可以在使用它的类中创建上述utils类的实例,但我不需要在vb.net中这样做。(只需要导入,然后方法就可以使用了)

所以我只是在这里吹毛求疵还是有一个简单的方法来做到这一点,我没有看到或不知道?

谢谢!

编辑:由于请求而添加的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ProjectProgram.Library
{
    public class ApplicationUtilities
    {
    public string homeLogPath = System.Environment.ExpandEnvironmentVariables("%SystemRoot%''System32''folderName''Logs");
    public void toLogFile(string LogName, string logEntry)
    {
        string LogFile = homeLogPath + "''" + LogName;
        if (!File.Exists(LogFile))
        {
            File.WriteAllText(LogFile, string.Empty, Encoding.UTF8);
        }
        File.AppendAllText(LogFile, DateTime.Now + " " + logEntry + "'n");
    }
}
}

这是我想在另一个类中使用的代码。如何从另一个类调用toLogFile方法?

如何在c#中的所有文件之间使用方法

创建日志类及其方法public static,并将其包含在您想要使用它的所有文件中。然后你可以通过像

这样的操作来访问它
  Logger.WriteLine("log message");

或者直接使用像Log4Net这样的库http://logging.apache.org/log4net/

您的实用程序类应该看起来像:

namespace Code.Utilities{
    public class MyUtilities{
        public static void LogString(string input){
            //Do something
        }
    }
}

那么任何其他想要使用LogString()的类看起来类似于:

using Code.Utilities;    
namespace SomeSpace{
     public class SomeClass{
         public void F(string input){
             MyUtilities.LogString(input);
         }
     }    
}