반응형

C# 21

C#에서 "<클래스이름/네임스페이스이름>" 형식 또는 네임스페이스 이름을 찾을 수 없습니다.

말 그대로다. C#에서, "형식 또는 네임스페이스 이름을 찾을 수 없습니다." 라는 컴파일 에러가 떳을 때 검토해야 할 내용을 적어본다. ( = 내가 삽질했다는 뜻. ) 1. 철자. 대소문자. 가장 일반적인 경우가, 1.1. 예를 들어 공통 함수 혹은 메소드로 사용할 Class1 라는 클래스 혹은 네임스페이스를 선언해 놓고, 1.2. 클래스를 사용할 때 Using 키워드 선언을 using class1; 이런 식으로 대소문자를 잘못 쓰거나, 혹은 철자 오류 났거나... 뭐 이런거. 이게 가장 흔하다. 오류 구문 혹은 상단의 include ( = using ) 구문의 철자를 철저히 살펴볼 것. 2. Assembly 미포함. 첨부터 작업하던 프로젝트에 namespace 나 class 등을 추가하면 모르지만, ..

프로그램 2015.12.25

C# 의 Socket 객체에는 close() 말고도 disconnect(), shutdown() 이 있다.

우연히 알게 되었다. 있더라고.자세한건 http://stackoverflow.com/questions/583637/c-net-socket-shutdown 를 보면 되고, 요약해서 말하면 socket.disconnect();socket.close(); 로 사용할 경우, "우아한 연결종료" ( Gracefully disconnect 던가? ) 그거 작동.즉, 데이터 송수신중이라면 모든 데이터의 송수신이 완결된 후 종료가 실행된다. socket.shutdown();socket.close(); 를 할 경우에는 바로 끊는다.즉, 설사 전송중인 데이터가 있더라도 바로 끊고 종료한다.

프로그램 2015.07.22

C#에서 thread 실행할 때 , 인자값 넘기는 법 + 람다식 사용.

짱편함. "Super Sweet" 이란 말이 절로 튀어나온다. [ "Super Sweet" 란 대사로 이걸 떠올렸다면, 너님은 이미 덕후. ] 상황 : C#에서 thread 사용할 때 인자값 넘기는 방법은 , 보통 두 가지 있다. 1. ParameterizedThreadStart ( 옛날 방식 - 예제 엄청 많다 )2. WorkingClass ( 인자 전달 명시적 방법 - 컴파일 에러 확보 가능 ) 근데.... 역시나 우리의 자비로우신 stackoverflow 께서는, 이러한 답변을 내려주시었다. ( 클릭해서 원문보기 귀찮으면 그냥 글 봐라. ) public Thread StartTheThread(SomeType param1, SomeOtherType param2) { var t = new Thread(..

프로그램 2015.05.05

요즘은 Append가 파일 없을 때 생성도 해 주나 보다.

C#에서 파일 IO 작업중에 Append 를 할 일이 있어서 File.AppendText() 의 리턴 값을 확인했다. ( http://msdn.microsoft.com/ko-kr/library/system.io.file.appendtext(v=vs.110).aspx ) 내용을 보니, AppendText() 인자 중에 파일이 존재하지 않으면, 알아서 생성해 준다는 거. 우와! 편리! 그전에 Java 에서도 Append쓸 때 문서 확인해 보니, 알아서 생성해 준단다. 이전에는 Append 하기 전에 일일이 파일 확인하고 Append 모드 쓸 지 Create 모드 쓸 지 작업했었는데,사용이 편리해 진 건지, 내 기억이 흐릿해 진 건지 모르겠다.

프로그램 2014.07.25

C# 에러 - HRESULT = '8000000A'

갑자기 이런 에러가 떴다. "확인하는 동안 오류가 발생했습니다. HRESULT = '8000000A' ..." 몰라 뭐야 무셔....어쨌던 내가 해결할 줄은 모르니 구글에게 물어봄. 이거 검색하면, 크게 두 가지 내용이 나온다. 1. Setup.vdproj 를 수정. ( http://social.msdn.microsoft.com/Forums/windows/en-US/ae06a513-4655-4c92-9cfe-459529dc66ce/error-occurred-while-validating-hresult-8000000a?forum=winformssetup ) 참조. 해당 파일을 열어서 “SccProjectName” = “8:”“SccLocalPath” = “8:”“SccAuxPath” = “8:”“SccPr..

C# 음성합성 프로그램 - TTS

Visual Studio 2010 으로 들어오면서, 음성인식과 음성합성이 기본 라이브러리로 장착되었다. 고로, 음성 관련 프로그램이 굉장히 쉬워졌다. 물론, 가격이 싼 만큼...음...품질은... ㅡ.,ㅡ; 원래는 이러저러한 이유로 TTS 프로그램을 개발해 보려 했었는데, 생각보다 엄청 간단하다. 자세한 내용은 http://blog.naver.com/techshare/100150170276 를 참고하면 된다. 프로그램은 위의 블로그( 뿐만 아니라 여기저기 있지만 ) 를 참고하여 만든 것이다. ( 테스트는 대강 요런 모양. )

프로그램 2012.03.12

C# - following error: 80040154 - Visual Studio 에서 64bit (x64) 로 컴파일 하는 방법.

TTS 프로그램을 만들어 보려는데, 아래와 같은 에러 메시지에 봉착했다. Retrieving the COM class factory for component with CLSID {D941651C-44E6-4C17-BADF-C36826FC3424} failed due to the following error: 80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 앞뒤를 말하자면, 영어 이외의 TTS 프로그램은 MS의 별도의 SDK를 깔아야 하는데, 해당 S..

프로그램 2012.03.10

MFC String.Format vs C# CString::Format

http://msdn.microsoft.com/ja-jp/library/ms908328.aspx http://msdn.microsoft.com/ko-kr/library/s8s7t687(VS.80).aspx 잘 안나오네 -_-;; MFC 의 CString.Format() 을 쓰다가 C#의 String.Format() 쓰니까 좀 헷갈려서. 정리해 버린다. MFC : ExampleCString str; str.Format(_T("Floating point: %.2f\n"), 12345.12345); _tprintf(_T("%s"), (LPCTSTR) str); str.Format(_T("Left-justified integer: %.6d\n"), 35); _tprintf(_T("%s"), (LPCTSTR) s..

프로그램 2012.02.28

C# - Form 안의 Control 들의 영역, 위치 계산 + SystemInformation 클래스

또 다른 광고 프로그램을 만드는데, Form 안의 Component 들의 위치를 계산하는 방식이 생각했던 것과 차이가 있어서 기록해 놓는다. 일반적으로 컴포넌트( 컨트롤 Controls 이라고도 한다.) 의 경우, 해당 영역을 좌표로 계산하기 위한 관련 속성들은 다음과 같다. Control.Top, Control.Left, Control.Width, Control.Height, 하지만, Component에 따라서는 Top, Left 속성이 없는 경우가 있다. 이때 생각해 봐야 할 속성들이 Location 속성이다. 즉, Control.Location.X Control.Location.Y 그런데, 이게 끝이 아니다. 이 값들은 모두, Parent인 Window Form 의 위치가 0,0. 즉, Form.L..

프로그램 2012.02.02

C# 지뢰찾기. Minesweepe.

C# 으로 지뢰찾기 게임을 만들었다. (엥? 화면에 바로 붙네?? ) 계기는... 지뢰찾기 보니까, 만들 수 있을 거 같아서. -_-; 지뢰찾기의 규칙이랄까... 프로그래밍에 필요한 로직은 다음과 같다. 1. 사용자가 임의의 칸을 클릭하면, 해당 칸을 중심으로 사방 8칸 안에 지뢰가 있는지 확인한다. 2. 만일 지뢰가 있다면, 1~8까지의 수가 표시된다. 3. 지뢰가 없다면, 빈 칸이 표시된다. 핵심은 3번의, "빈 칸은 얼마나, 어디까지 표시되는가" 인데... 이것도 패턴이 보여서, 정리했다. 1. 시작할때 width * height 격자가 생성된다. 2. 지뢰가 random 으로 박힌다. 3. 사용자가 클릭하면, 클릭한 곳이 지뢰면, 터지고 게임 끝. 4. 지뢰가 아니면, 흰색으로 바뀌거나 숫자가 표..

프로그램 2011.12.31
반응형