如何在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方法?
创建日志类及其方法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);
}
}
}