December 6, 2011
Writing Windows Shell Extension with .NET Framework 4

Prior to .NET Framework 4, we can't make in-process shell extension using managed code because of the CLR limitation allowing only one .NET runtime per process. Jesse Kaplan, one of the CLR programmer, explains... [note color="FFFFBB"] Unfortunately unmanaged C++ is really the only way to go here. Writing in-process \shell extensions in managed code is […]

Read More
December 13, 2010
WCF Best Practices: How to Dispose WCF clients

WCF Best Practices: How to Dispose WCF clients Use of the using statement (Using in Visual Basic) is not recommended for Dispose WCF clients. This is because the end of the using statement can cause exceptions that can mask other exceptions you may need to know about. [code lang="csharp"] using (CalculatorClient client = new CalculatorClient()) […]

Read More
March 25, 2010
Extension 클래스를 통해 기존 클래스를 확장하기

C# 3.0 에서부터 새로 제공되는 기능으로 Extensions 라는 것이 있다. 이 것은 기존에 정의되어 있는 클래스를 확장할 수 있도록 해주는 방법이라고 할 수 있다. 백문이 불여일견이니 어떻게 하는지 한번 살펴보도록 하겠다. 일단 먼저 기본으로 제공되는 String에 현재의 문자열의 길이를 리턴해주는 GetStringLength() 라는 함수를 제공하도록 해보겠다. 프로젝트를 하나 생성하고 StringExtensions 라는 이름의 클래스를 하나 추가한 후 […]

Read More
March 19, 2010
바이너리(Binary) 파일 Read/Write 하기

.NET Framrwork에서는 바이너리(Binary) 파일을 읽고 쓰기위한 BinaryReader, BinaryWriter 클래스를 제공한다. 이 클래스를 이용하면 쉽게 파일을 읽고 쓸 수 있다. BinaryReader 를 이용한 파일 읽기 [code lang="csharp"] // 파일 열기 FileStream fs = File.OpenRead("a.bin"); // 스트림을 이용하여 BinaryReader 클래스 생성하기 BinaryReader br = new BinaryReader(fs); // 파일 Read용 임시 변수 Int16 temp = 0; // 2바이트 […]

Read More
March 19, 2010
Generic List 복제하는 방법

클래스에서 Copy() 나 Clone() 함수를 제공하지 않아 For 문을 이용해서 대입해야 하는 줄 알았다... 😥 [code lang="csharp"] // Generic List 생성 List<int> a = new List<int>(); // 값 추가하기 a.Add(1); a.Add(2); a.Add(3); // List 복제하기 List<int> b = new List<int>(a); [/code] 위의 코드와 같이 생성할 List 템플릿의 생성자에 복제할 List 클래스의 인스턴스를 넘겨주면 복제가 된다.

Read More
December 2, 2009
Full-Screen Application

Yesterday I posted a quick update to an article I wrote back in 2007 entitled How to make a full-screen Windows app using VB.NET. Aside from 1 or 2 people saying “Oh man why don’t you be a man and write it using C#?” I reckon it’s a good idea to do that anyway. Thanks […]

Read More
April 28, 2009
Drag & Drop 기능 구현 기초

1. 드래그 해서 전달하려고 하는 클래스 선언 [code lang="csharp"] namespace DragTest { public class Class1 { public int a = 0; } } [/code] 2. 드래그(Drag) 하려고 하는 항목에 MouseDown 이벤트를 생성하고 이벤트 내부에 드래그 시작을 알리는 함수 구현 [code lang="csharp"] using System; using System.Windows.Form; namespace DragTest { public partial class Form2 : Form { […]

Read More
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram