HashTable 클래스와 Dictionary 클래스의 비호환성 제네릭 컬렉션은 용이하게 사용할 수 있어 당장이라도 사용하고 싶을 것이다. 그러나, 기존 C# 1.x 버전에서 제네릭 버전으로 치환하면서 대체할 수 없는 경우도 있다. 특히 심각한 것은, HashTable 클래스와 Dictionary 클래스의 비호환 동작의 경우다. 실제로 다음과 코드를 보자. using System; using System.Collections; using System.Collections.Generic; class Program { static void Main(string[] args) { try { // Hashtable 클래스(종래의콜렉션·클래스) Hashtable hashtable = new Hashtable();..
제네릭 컬렉션의 사용법 제네릭 컬렉션(=제네릭의 기능을 사용하고 있는 컬렉션 클래스)의 사용법은 어려운 것이 없다. 기본적인 사용법만 얘기한다면, 다음의 원칙을 기억하면 좋다. ★ 제네릭 컬렉션의 형명의 뒤에 취급하는 데이터의 형명을 로 둘러싸서 기술한다( 복수의 데이터형을 취급하는 경우에는 콤마로 구분한다) 즉, List 과같이 사용하면 된다. new ArrayList() 와 같이 사용하듯, new List() 과 같이 사용하면 된다. Dictionary 클래스와 같이, 키(key)와 값(value)의 2개의 형태를 이용하는 클래스의 경우는, 안에 형태를 2개 지정한다.키가 정수이고 값이 문자열이라면, Dictionary 과 같이 사용한다. 그리고, 기존의 컬렉션과 취급방식은 큰 차이가 ..
제네릭이란 무엇인가? C# 1.x 프로그래밍의 불만이란 무엇일까. 구체적으로는 여러 가지가 있다고 생각하지만, 아마 아래의 내용에 대해서는, 대부분 C# 1.x 프로그래머가 불만이라고 느끼고 있을 것이다. ★ 컬렉션의 요소를 엑세스 할 때, 캐스트가 요구된다. 구체적으로 말하면, 다음과 같다. using System; using System.Collections; class Program { static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add("Hello!"); Console.WriteLine(((string)list[0]).ToUpper()); // 캐스트필요 // 출력:HELLO! } } 리스트1 C# 1.x 에서 ..
우리는 가끔씩 리플랙션을 사용한다. 사용하는 목적 또한 다양하고 리플랙션의 장점 또한 무궁무진 하다. 오늘 이야기할 내용은 어셈블리는 리플랙션을 하는데 있어 무척 도움이 될만한 내용을 살펴보겠다. using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.IO; namespace ConsoleTest1 { class Program { static void Main(string[] args) { try { BindingFlags flag = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | Binding..
동적 이벤트 처리.. 어디에 써먹으면 좋은까.. 우선 이에 앞서 리플랙션 이야기를 잠시만 언급하겠습니다. System.Reflection 네임스페이스와 System.Type을 사용하면 우리가 원하는 어셈블리의 클래스, 인터페이스, 프로퍼티 와 맴버에 대한 정보를 얻을 수 있습니다. 간단히 말하면, 런타임으로 동적으로 다양한 작업을 하고자 할 때 사용됩니다. 대부분 다음과 같은 경우에 자주 사용됩니다. 1) 실제 코드가 아닌 정보들, 그 파일에 따라다니는 정보들 등 어플케이션의 메타 정보를 얻어서 유지보수에 도움을 받기도 합니다. 2) 어셈블리의 내용을 알고자 할 때 사용할 수 있습니다. Assembly asm = Assembly.Load("Mscorlib.dll"); Type[] types = asm.G..
CDO.IMessage mail=new CDO.MessageClass(); CDO.Configuration iConfig=new CDO.ConfigurationClass(); ADODB.Fields flds=iConfig.Fields; flds[CDO.CdoConfiguration.cdoSendUsingMethod].Value=2; //인증 CDO.CdoConfiguration.cdoSMTPServer].Value="smtp.mail.yahoo.co.kr"; flds[CDO.CdoConfiguration.cdoSendUserName].Value="umjunil"; flds[CDO.CdoConfiguration.cdoSendPassword].Value="xxxxxx"; flds[CDO.CdoConfigur..
- Total
- 2,841,738
- Today
- 3
- Yesterday
- 47
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
- ALM
- 엄준일
- Team Foundation Server 2010
- .NET
- mono
- LINQ
- Managed Extensibility Framework
- 팀 파운데이션 서버
- test
- monodevelop
- Visual Studio 2010
- ASP.NET
- POWERUMC
- Visual Studio 2008
- Visual Studio 11
- Team Foundation Server
- Visual Studio
- TFS
- 비주얼 스튜디오
- c#
- Windows 8
- .NET Framework 4.0
- umc
- Silverlight
- 비주얼 스튜디오 2010
- MEF
- testing
- TFS 2010
- github
- 땡초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- 2020/05 (1)
- 2019/10 (3)
- 2018/11 (1)
- 2018/08 (2)
- 2017/04 (1)
- 2017/01 (2)
- 2016/11 (2)
- 2016/08 (1)
- 2016/05 (1)
- 2016/04 (2)
- 2016/02 (2)
- 2016/01 (1)
- 2015/05 (1)
- 2015/04 (2)
- 2015/03 (1)
- 2015/02 (1)
- 2015/01 (1)
- 2014/11 (1)
- 2014/09 (2)
- 2014/08 (2)
- 2014/05 (2)
- 2014/04 (3)
- 2014/03 (2)
- 2014/02 (2)
- 2014/01 (4)
- 2013/12 (2)
- 2013/11 (1)
- 2013/10 (2)
- 2013/09 (6)
- 2013/08 (3)