0
这里是我的代码如何编写使用扩展方法
class Program
{
static void Main(string[] args)
{
(from d in new DirectoryInfo("E:\\")
.GetDirectories() select d.Name)
.WriteToConsole(Logger.WriteToLog , true);
// .WriteToConsole(Console.WriteLine);
}
}
public static class Logger
{
public static void WriteToLog(dynamic data)
{
string filePath = string.Format("{0}\\log.txt", Environment.CurrentDirectory);
var stream = File.Create(filePath);
stream.Write(Encoding.UTF8.GetBytes(data), 0, Encoding.UTF8.GetByteCount(data));
stream.Flush();
stream.Close();
}
}
public static class WriteExtensions
{
public static void WriteToConsole<T1>(this IEnumerable<T1> data , Action<T1> action, bool carelist = false)
{
if (carelist)
{
// all i want is to invoke action by sending data rather than
// one by one
return;
}
foreach (var item in data)
{
action.Invoke(item);
}
}
}
的问题是,我们可以通过line..but写控制台线写入文件我想一次把所有的日志文件或控制台消息..任何帮助..谢谢
你有一个函数'WriteToConsole'不写入控制台。这有点令人困惑。另外,是否有理由使用动作和扩展方法?为什么不用一些正常的方式来做呢? – Dialecticus
八号线评论...取消注释会写信来安慰.. –
你的愿望是取代一行代码。我的问题是为什么?为什么只需要替换一行代码?为什么不更换几行? – Dialecticus