2

我有一个方法,我想在同一个 c# 项目中的几乎所有类中使用它。

public void Log(String line)
{
   var file = System.IO.Path.GetPathRoot(Environment.SystemDirectory)+ "Logs.txt";

   StreamWriter logfile = new StreamWriter(file, true);

   // Write to the file:
   logfile.WriteLine(DateTime.Now);
   logfile.WriteLine(line);
   logfile.WriteLine();

   // Close the stream:
   logfile.Close();
}

在项目的其他类中重用此方法的方法是什么?

4

3 回答 3

7

如果你想在所有类中使用它,那么就让它static.

你可以有一static LogHelper堂课来更好地组织它,比如:

public static class LogHelper
{
    public static void Log(String line)
    {
        var file = System.IO.Path.GetPathRoot(Environment.SystemDirectory)+ "Logs.txt";

        StreamWriter logfile = new StreamWriter(file, true);

        // Write to the file:
        logfile.WriteLine(DateTime.Now);
        logfile.WriteLine(line);
        logfile.WriteLine();

        // Close the stream:
        logfile.Close();
    }
}

然后通过做调用它LogHelper.Log(line)

于 2013-03-27T16:27:40.447 回答
4

您可以创建一个静态类并将此函数放在该类中。

public static MyStaticClass
{
    public static void Log(String line)
    {
        // your code
    }
}

现在你可以在别处调用它。(不需要实例化,因为它是一个静态类)

MyStaticClass.Log("somestring");
于 2013-03-27T16:27:54.127 回答
0

您可以Extrension method在统计类中使用

字符串扩展示例

public static class MyExtensions
    {
        public static int YourMethod(this String str)
        {
        }
    }  

链接:http: //msdn.microsoft.com/fr-fr/library/vstudio/bb383977.aspx

于 2013-03-27T16:30:50.623 回答