如何在其他类中使用方法?

时间:2013-03-27 16:26:53

标签: c# wpf methods code-reuse

我有一个方法,我想在同一个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();
}

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

3 个答案:

答案 0 :(得分: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)

来调用它

答案 1 :(得分:4)

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

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

现在你可以在其他地方调用它。 (无需实例化,因为它是静态类)

MyStaticClass.Log("somestring");

答案 2 :(得分:0)

您可以在字符串扩展

的静态类示例中使用Extrension method
public static class MyExtensions
    {
        public static int YourMethod(this String str)
        {
        }
    }  

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