C# 3.0 에서부터 새로 제공되는 기능으로 Extensions 라는 것이 있다.

이 것은 기존에 정의되어 있는 클래스를 확장할 수 있도록 해주는 방법이라고 할 수 있다. 백문이 불여일견이니 어떻게 하는지 한번 살펴보도록 하겠다.

일단 먼저 기본으로 제공되는 String에 현재의 문자열의 길이를 리턴해주는 GetStringLength() 라는 함수를 제공하도록 해보겠다.

프로젝트를 하나 생성하고 StringExtensions 라는 이름의 클래스를 하나 추가한 후 아래와 같이 코딩하도록 하자.

[code lang="csharp"]
namespace ExtensionMethodTest
{
public static class StringExtensions
{
public static int GetTextLength(this string s)
{
return s.Length;
}
}
}
[/code]

이와 같이 코딩한 후 폼을 하나 추가하고 폼에서 String 변수를 하나 생성해서 아래와 같이 코딩하도록 하자.

[code lang="csharp"]
using System;
using System.Windows.Forms;

namespace ExtensionMethodTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
string message = "Hello~~~~~";
MessageBox.Show(message.GetTextLength().ToString());
}
}
}
[/code]

위와 같이 string 함수에 위에서 정의한 함수가 확장되어 들어가 있는 것을 볼 수 있다.

파일 확장자에 연결된 프로그램의 아이콘을 바꾸는 방법이 설명되어 있는 사이트

링크
http://www.sevenforums.com/tutorials/57455-file-extension-icon-change-default-icon.html

간략히 설명하자면,

1. 레지스트리 편집기 실행

2. 만일 UAC에 의해 물어보는 화면이 나타나면 확인 클릭

3. 레지스트리의 HKEY_CLASSES_ROOT 항목 하부에서 확장자 찾기

4. DefaultIcon키 하부의 "(기본값)" 키의 항목 변경하기

Copyright zemna. All right reserved.