public static void Main()
        {
            var writer = CWC.Create();  // ???

            CWC.Write(writer);          // 너무 클래스에 막 접근할 수 있는거 아닌가?
            CWC.Close(writer);          // 똑같은 인수도 너무 자주 넘기고
        }
Exemple #2
0
        public static void Main()
        {
            var cwc = new CWC();

            cwc.Create();
            cwc.Write();
            cwc.Close();
        }
Exemple #3
0
        public static void Main()
        {
            var cwc = new CWC();

            cwc.Create();
            cwc.Write();    // 여기서 예외를 발생시키고 파일을 닫지만 문제는 try 구문으로만 감싼 곳에서 문제가 발생한다.
            cwc.Close();    // 다른 방법이 없나?
        }
        public static void Main()
        {
            var cwc = new CWC();    // CWC 기능을 쓰고 싶으면 인스턴스화 해서 쓰게끔 하자.

            cwc.Create();           // 너무 static 남발해서 쓰면 병렬처리가 힘들다.
            cwc.Write();            // 요즘은 웹 시스템이라서 여러 사람이 동시에 작업을 하려면 static을 안쓰는 것이 좋다.
            cwc.Close();            // 하지만 한 곳에서만 사용된다는 것을 알고 있다면 static을 사용해야 한다.
        }
 public static void Main()
 {
     try
     {
         using (var cwc = new CWC()) // try문 안에서만 클래스를 사용하려면 using을 사용하면 된다.
         {
             cwc.Create();
             cwc.Write();            // 예외 발생을 한다.
                                     // CWC는 IDisposable을 상속받아서 Dispose를 정의했으므로 예외가 발생하면 Dispose를 실행한다.
                                     // Dispose가 실행되면 파일이 닫히게 된다.
         }
     }
     catch (Exception e)     // 그리고 예외가 발생한 모든 위치를
     {
         WriteLine(e);       // 출력한다.
                             // 그냥 throw만 하는 것보다 많이 쓰이는 방식이다.
     }
 }