using (BinaryReader rd = new BinaryReader(File.Open(srcfile, FileMode.Open))) using (BinaryWriter wr = new BinaryWriter(File.Open(destfile, FileMode.Create))) 여기는 ";" 가 마지막에 붙지 않는데, 왜 안붙히는건가요?
using(...)은 문장이 끝난 것이 아니라, 뒤에 {...} 블럭 혹은 단일문장을 사용하고 문장이 끝나기 때문에 using(...) 뒤에 ; 을 붙이지 않습니다. using을 두번 쓰는 경우 첫번째 using 을 두번째 using 블럭 전체를 뒤에 갖는 효과가 있습니다.
funcA(호출자)가 funcB(피호출자)를 호출할 때 콜백함수 funcC를 전달한다고 가정할 경우, funcB는 실행 중 해당 함수/메서드 내에서 funcC를 호출하는 것을 콜백이라 합니다. 예전에 흔히 Win32 API들이 이러한 콜백을 많이 사용했었는데, 주로 1개의 콜백 함수를 전달하고 이를 전달받은 피호출자가 이 콜백함수를 호출하는 식이었습니다. C# 이벤트는 OOP의 클래스 내에서 외부 객체들에게 복수의 메서드/함수들을 등록하여 호출될 수 있게 하는 것으로, 이벤트를 fire하는 메서드에 직접 하나씩 콜백함수를 파라미터로 보내는 것이 아니라 사전에 객체 이벤트에 함수를 추가 등록해 두고 C# 클래스에서 필요할 때 그 이벤트를 fire하면서 가입된 모든 함수들을 호출하는 것입니다.
@@김승기-i8w 1) VS 에서 View => ToolBox 메뉴를 선택하고 ToolBox를 고정합니다. 우측 상단의 pin 을 고정. 2) VS 프로젝트에서 C# 파일 (*.cs) 을 여시고요, 소스 코드 일부를 마우스로 드래그해서 선택합니다. (이 소스 일부를 ToolBox 에 넣는다고 가정합니다.) 3) 드래그한 소스부분을 마우스로 끌어다가 Toolbox에서 Drop 하면 됩니다. 이는 단순히 소스 일부를 드래그 앤 드랍하는 것입니다. 그러면 toolbox에 Text: { 소스 } 라고 생깁니다.
쓰레드는 그것이 실행하는 메서드 블럭이 끝나면 자동 종료됩니다. Thread를 쓰는 경우와 Task를 쓰는 경우가 다를 수 있습니다. (자세한 부분은 csharpstudy.com 의 C# 멀티쓰레딩 섹션을 참고하십시오.) Task를 사용해도 Invoke는 동일하게 처리해 줘야 합니다.
항상 좋은강의 진행해주셔서 감사합니다 ! (@00:00 볼차례)
이벤트 처리 부분이 항상 헷갈렸었는데요. 이벤트 제공자와 구독자라는 개념으로 접근하니까 이해하는데 큰 도움이 됐습니다.감사합니다 !
진짜 20분 짜리 강의에 다 담겨있습니다...꼭들으세요 ㅠㅠ
강의 잘 봤습니다! 다른 분의 강의를 보다가 이해가 안되서 답답했던 부분들이 있었는데, 명쾌하게 해소되었습니다. 너무 감사드립니다!
선생님 강의 너무 잘듣고있습니다. 감사합니다. 새해복 많이받으세요!
네, 감사합니다. 새해 복 많이 받으세요!!
강의 잘 보고 있습니다!
너무 감사히 잘보고 있습니다.
강의 감사합니다 . 궁금한 부분이 몇 있었는데요.많이 배웠습니다 . 음료 쿠폰이라도 보내드리고 싶네요 :)
감사합니다.
using (BinaryReader rd = new BinaryReader(File.Open(srcfile, FileMode.Open)))
using (BinaryWriter wr = new BinaryWriter(File.Open(destfile, FileMode.Create)))
여기는 ";" 가 마지막에 붙지 않는데,
왜 안붙히는건가요?
using(...)은 문장이 끝난 것이 아니라, 뒤에 {...} 블럭 혹은 단일문장을 사용하고 문장이 끝나기 때문에 using(...) 뒤에 ; 을 붙이지 않습니다. using을 두번 쓰는 경우 첫번째 using 을 두번째 using 블럭 전체를 뒤에 갖는 효과가 있습니다.
강의 잘 보고 있습니다. 콜백이 뭔지 궁금합니다. 이벤트와 비슷한것 같은데... 시원한 강의 한번 해주시면 감사하겠습니다.
funcA(호출자)가 funcB(피호출자)를 호출할 때 콜백함수 funcC를 전달한다고 가정할 경우,
funcB는 실행 중 해당 함수/메서드 내에서 funcC를 호출하는 것을 콜백이라 합니다.
예전에 흔히 Win32 API들이 이러한 콜백을 많이 사용했었는데, 주로 1개의 콜백 함수를 전달하고
이를 전달받은 피호출자가 이 콜백함수를 호출하는 식이었습니다.
C# 이벤트는 OOP의 클래스 내에서 외부 객체들에게 복수의 메서드/함수들을 등록하여
호출될 수 있게 하는 것으로, 이벤트를 fire하는 메서드에 직접 하나씩 콜백함수를 파라미터로 보내는 것이
아니라 사전에 객체 이벤트에 함수를 추가 등록해 두고 C# 클래스에서 필요할 때 그 이벤트를 fire하면서 가입된 모든 함수들을 호출하는 것입니다.
자세한 설명 잘 들엇습니다.. 감사합니다.
@@csharpstudy 자세한 답글 감사합니다.
강의 동영상 중에(1:54) 소스를 드래그해서 붙여넣기 하는것은 어떻게 하는 것인가요?
VS 소스 코드 윈도우에서 Tools 윈도우를 열고, 원하는 코드를 Select한 후 Tools 윈도우로 드래그앤 드랍하면 됩니다.
@@csharpstudy 안녕하세요 이제 처음 C#을 따라해보는데...답변의 내용이 이해가 안되어서요 좀더 자세히 설명주시면 감사하겠습니다
@@김승기-i8w 1) VS 에서 View => ToolBox 메뉴를 선택하고 ToolBox를 고정합니다.
우측 상단의 pin 을 고정.
2) VS 프로젝트에서 C# 파일 (*.cs) 을 여시고요, 소스 코드 일부를 마우스로 드래그해서 선택합니다.
(이 소스 일부를 ToolBox 에 넣는다고 가정합니다.)
3) 드래그한 소스부분을 마우스로 끌어다가 Toolbox에서 Drop 하면 됩니다.
이는 단순히 소스 일부를 드래그 앤 드랍하는 것입니다.
그러면 toolbox에 Text: { 소스 } 라고 생깁니다.
이것을 toolbox에서 다른 위치에 다시 드래그 앤 드랍할 수 있습니다.
@@csharpstudy 감사합니다
7:54 에 나오는 src.mp4는 어떻게 생긴건가요?
src.mp4는 샘플 파일로 제가 미리 복사해 된 것입니다. 임의의 파일을 사용하시면 됩니다.
강의 잘봣습니다.
쓰레드는 start만 하고 stop은 별도로 안해줘도 되는것인지요?
요즘엔 TASK를 쓰라고 권장한다는데 TASK를 사용해도 Invoke문은 동일하게 처리해줘야 하는지요?
쓰레드는 그것이 실행하는 메서드 블럭이 끝나면 자동 종료됩니다. Thread를 쓰는 경우와 Task를 쓰는 경우가 다를 수 있습니다. (자세한 부분은 csharpstudy.com 의 C# 멀티쓰레딩 섹션을 참고하십시오.) Task를 사용해도 Invoke는 동일하게 처리해 줘야 합니다.
@@csharpstudy 답변 주셔서 감사합니다. ^^
2분 쯤에 필요한 using space을 추가하는건 어떻게 하신건가요?
해당 클래스명(예: FileInfo) 에 커서를 두고, Ctrl + . 을 누르면 namespace 를 추가하는 메뉴가 나옵니다.
bin의 debug 파일 내부에 src.mp4로 넣어놨는데 파일을 찾을수없습니다. 라고 나오는데 뭐가문제일까요 ㅠㅠ
위의 동영상에 있는대로 코딩하셨다면, Visual Studio 에서 (상단 툴바에 있는 콤보박스가) Debug / Any CPU 로 설정되어 있는지 확인해 보십시오. 이것이 Release 로 되어 있으면, bin\Release에 src.mp4를 넣어야 합니다.
아니면 파일 이름을 src.mp4.mp4로 지정하셨는지도 모르겠습니다.. 확장자가 아닌 이름에 mp4가 같이 들어가있으면 파일이름이 다른거니까요..