2016-09-12 5 views
1

は、私は、コンソールへの3種類のメッセージをプリントアウトできるようにしたいです。そのためには、コンソールのForegroundColorを黄色、赤色または緑色に変更する必要があるたびに、メッセージを印刷して色を元に戻してください。これをより速くするために、私はクラスを作成することに決めました(Printerと言う)。これは3つのメソッドを持っています:Warning(message)Error(message)Success(message)です。今、私の質問は:Printerstructまたはclassすべきですか?私は、このクラスでこれ以上のフィールドやメソッドを持つ予定はありません。メソッドをラップするためにクラスまたは構造体を使用する必要がありますか?警告、エラーと成功:

+0

のようにそれを呼び出すと思いますがね。 – juharr

+0

少なくとも私はそうは思わない。単純な値をまとめてグループ化したいときに最も一般的に使用される構造体を理解しています。しかし、クラスがメンバーを変更しない場合は、構造体でなければならないということも聞いたことがあります。私はどのように真実であるかわからないので、私は尋ねている理由です:) – SalysBruoga

+0

各メソッドが単にコンソールのテキストの色を変更し、メソッドを印刷してからそれを元に戻すと、すべてのデータが静的ですこのメソッドに基づいて、メッセージが渡されます)。あるいは、複数の 'Printer'インスタンスを作成した場合、それらがどのように異なっているのでしょうか? – juharr

答えて

4

これは静的クラスでなければなりませんようにそれは実際に聞こえます。それも静的クラスかもしれないよう

public static class Printer 
{ 
    public static void Warning(string message) 
    { 
     var currentColor = Console.ForegroundColor; 
     Console.ForegroundColor = ConsoleColor.Yellow; 
     Console.WriteLine(message); 
     Console.ForegroundColor = currentColor; 
    } 

    //Other similar methods here 
} 

次にあなたがこの

Printer.Warning("This is a warning"); 
関連する問題