HaPpY hApPy

하나의 프로젝트 여러 파일로 분산할때 본문

.NET/WPF

하나의 프로젝트 여러 파일로 분산할때

juniguya 2012. 6. 6. 21:48

아직 정확한 개념은 아니지만

옛날 기억으로는 MFC는 위에 include 문이였는지  import 문이였는지 정확이 기억이 나지않지만 여튼 파일이름을 위에 코딩에 명시해주면 컴파일시에 소스코드로 변환되어 당장 같은파일에 없는 클래스도 사용할수있었던걸로 기억한다.

c#에서는 짧은 생각으로나마 using 을 사용하지 않을까? 했는데

의외로 이 namespace 라는 녀석을 이용하는듯한 인상을 받았다.

아직 정확한건 예제 문제를 하나 풀면서 그런 느낌을 받았다.

 

InheritAppAndWindow.cs

//----------------------------------------------------
// InheritAppAndWindow.cs (c) 2006 by Charles Petzold
//----------------------------------------------------
using System;
using System.Windows;
using System.Windows.Input;
namespace Petzold.InheritAppAndWindow
{
    class InheritAppAndWindow
    {
        [STAThread]
        public static void Main()
        {
            MyApplication app = new MyApplication();
            app.Run();
        }
    }
}

 

MyApplication.cs 파일

 //-----------------------------------------
//----------------------------------------------
// MyApplication.cs (c) 2006 by Charles Petzold
//----------------------------------------------
using System;
using System.Windows;
using System.Windows.Input;
namespace Petzold.InheritAppAndWindow
{
    class MyApplication : Application
    {
        protected override void OnStartup
        (StartupEventArgs args)
        {
            base.OnStartup(args);
            MyWindow win = new MyWindow();
            win.Show();
        }
    }
}

 MyWindow.cs 파일

 ///-----------------------------------------
// MyWindow.cs (c) 2006 by Charles Petzold
//-----------------------------------------
using System;
using System.Windows;
using System.Windows.Input;
namespace Petzold.InheritAppAndWindow
{
    public class MyWindow : Window
    {
        public MyWindow()
        {
            Title = "Inherit App & Window";
        }
        protected override void OnMouseDown
        (MouseButtonEventArgs args)
        {
            base.OnMouseDown(args);
            string strMessage =
            string.Format("Window clicked with{0} button at point ({1})",
            args.ChangedButton,
            args.GetPosition(this));
            MessageBox.Show(strMessage, Title);
        }
    }
}

이렇게3개의 파일에 using문을 검색해 보아도 서로의 파일명을 참조하는일은 없다.

하지만 소스를 자세히 보면 분명 공통적인게 있습니다.

그것은 바로 namespace 로 정의된 이름들!! Petzold.InheritAppAndWindow

실제로 저 이름이 다를경우 에러가 발생하더군요^^

책없이 예제소스만 보고 하니 혼자 오만 추척을 다해봐야하는군요 ㅠ-ㅠ 

언능 출근해서 저책 가지고 공부 하고싶네요......쉬는날 출근이 하고싶다라?? ^^

 


'.NET > WPF' 카테고리의 다른 글

namespace 링크 하기!  (0) 2012.06.11
What the hell [STAThread]  (0) 2012.06.06
나만의 c# 시작!! With 페졸드의 WPF  (0) 2012.06.06