Array형식이나 List형식의 데이터는 index를 이용해 해당 데이터에 접근할수 있어요
뭐 예를들자면
List listStr = new List();
listStr.Add("1");
listStr.Add("2");

MessageBox.Show(listStr[1]);

뭐 이런식으로 하면
list의 두번째 데이터인 "2"가 출력되죠.

코딩을 하다보면
내가 원하는 데이터를 따로 담아두기 위해 클래스를 만들기도 합니다.(구조체든지.)

그 클래스에서는 프로퍼티 등을 통해 외부에서 엑세스 할수 있도록 해주죠.

하지만 외부에서 엑세스 하는 변수가 (예를들어) List<T> 형식인 경우

물론 외부에서 그 변수를 그대로 얻어와서
핸들링 할수도 있겠지만.
클래스 자체에서의 작업을 통해
index를 통해 접근 할수도 있습니다.

public 형식 this[int index]
{
     get
    {
        return List[index];
    }
}

뭐 이런식으로 해주면 됩니다.
클래스 외부에서 접근을 해야 하니 당연히 public이겠구요
형식은 뭐. 해당 list의 형식과 맞춰주면 되겠죠.

그리고 이왕이면
Add/Insert/Remove/IndexOf 등의 메서드도 구현해놓는다면
사용할때 더 편리하겠죠?
by 피요히코~ 2010. 4. 26. 14:37

익스플로러에 보면
페이지 열때 페이지를 체크 하는 옵션이 있죠

페이지 내용이 바뀌지 않았을때 어떻게 하느냐인건데

그냥 매번 새로 열껀지 아니면 확인 안하고 캐시에 있는 파일을 쓸껀지

뭐 이런건데

캐시를 사용하면 페이지가 열리는 속도가 향상되겠지만
단점은 바뀐 페이지가 제대로 안보일수가 있다는거..

일반적인 상황이라면 사소할수도 있지만.

암튼

어제오늘
이 문제때문에 고생을 하다가.
캐쉬 문제임을 확인하고
방법은 찾았네요


Response.Expires = 0;
Response.Cache.SetNoStore();
Response.AppendHeader("Pragma", "no-cache");


이 녀석을
Page_Load에 넣어두면
이 페이지는 캐쉬를 안쓰게 되더라구요.
아..
귀찮은녀석.. ㅠ
by 피요히코~ 2010. 1. 14. 12:42
윈폼에서 유저컨트롤을 만들면. 도구상자에 추가가 되서. 일반 컨트롤처럼 사용할수가 있죠

유저컨트롤을 만들어서 쓰다 보면
속성을 추가하고 싶은 마음이 슬금슬금 생길수도 있는데

일반 속성 만드는거 처럼 만드니
디자인창에서 컨트롤속성을 봐도 추가가 되어있진 않더라구요

방법은?!!

[Category("속성명"),Description("설명")]


이렇게 하기만 해주면 됩니다. ㅋ

참 쉽죠잉!!!

[Category("IsNumber"), Description("숫자인지 여부")]
public bool IsNumber
{
       get;
       set;
}

이렇게 해주면 디자인창에서도 속성편집을 할수 있습니다.
by 피요히코~ 2010. 1. 13. 11:58