2

あらゆる種類のステータス更新と時間をコンソールに書き込むアプリケーションがあります。また、クライアントにメールを送信するメール機能もあります。アプリケーションの最後に、コンソールからのすべての行を含む電子メールを送信してください (同じアプリケーション)。

Console.ReadAllLines という関数はないようです。

GetStdHandle でいくつかのアイデアを見ましたが、動作させることができました。

c# pls でこれを行う方法はありますか?

4

3 に答える 3

2

すでにコンソールに出力されている情報を読み戻すことは、逆の設計です。代わりに、情報を DB/ファイル/メモリに保存して、再利用できるようにします。引き続き出力を表示します。ただし、電子メールを送信する必要がある場合は、DB/ファイル/メモリから情報を掘り出します。

次のように実行できます。

List<string> outputList = new List<string>();
string output = GetOutput();//Run continuously...perhaps in a loop or event trigger..whatever applies
outputList.Add(output);
Console.Writeline(output);

//when ready
SendEmail(outputList);
于 2013-11-06T14:11:26.023 に答える
1

ラッパー クラスを作成して、簡単に処理できます。

public class ConsoleWriter()
{
    public static List<string> AllLines = new List<string>();

    public static WriteConsole(string text)
    {
        AllLines.Add(text);
        Console.Write(text);
    }
}

次に、メールを送信するときに AllLines を読みます。

于 2013-11-06T14:13:31.353 に答える