如何在c#中的所有文件之间使用方法?
因此,我试图在我的C#项目中的所有文件中使用一个简单的日志功能。(visual studio 2010)我已经在vb.net中创建了这个项目,现在我正在尝试用c#重写并清理它。我也是C#的新手,所以请提前道歉 在vb.net中,它非常简单:如何在c#中的所有文件之间使用方法?,c#,visual-studio-2010,extension-methods,C#,Visual Studio 2010,Extension Methods,因此,我试图在我的C#项目中的所有文件中使用一个简单的日志功能。(visual studio 2010)我已经在vb.net中创建了这个项目,现在我正在尝试用c#重写并清理它。我也是C#的新手,所以请提前道歉 在vb.net中,它非常简单: 创建一个.vb文件 将其放入项目的“库”文件夹中 然后在库文件中的任何要使用方法的文件中,在顶部放置“Imports” 太棒了,只有c#不允许这样。我尝试了“使用”,但intellisense只允许我将“使用.Library”放在其中,其中Library
- 创建一个.vb文件
- 将其放入项目的“库”文件夹中
- 然后在库文件中的任何要使用方法的文件中,在顶部放置“Imports”
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方法?您的实用程序类应该如下所示:
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);
}
}
}
将日志类及其方法设置为publicstatic,并将其包含在所有要使用的文件中。然后,您只需执行以下操作即可访问它
Logger.WriteLine("log message");
或者使用Log4Net之类的库尝试创建静态方法。C#不喜欢你的VB尝试可能是因为它认为这个方法没有合适的作用域。你应该添加一些你尝试过的代码,因为我想回答这个问题,但是没有任何代码,我真的不理解你的问题。它不像vb.net中那样干净,但这绝对是我想要的,或者是我能想到的最接近的东西。静态限制类变量的使用。我无法引用我在utils类中声明的homeLogPath。显然,我可以在方法内部移动它。我想现在就可以了。谢谢