Microsoft MVP성태의 닷넷 이야기
귀신 곡할 상황 질문입니다. [링크 복사], [링크+제목 복사],
조회: 10796
글쓴 사람
발코더
홈페이지
첨부 파일
 

안녕하세요!

다음은 MSDN에 나와 있는 예제 그대로를 SV2008에 그대로 타이핑해서 코딩한 것입니다.
그런데 이게 아주 웃기는 상황이 발생합니다.
아래코드를 그대로 실행시키면
4번 표시된 부분에서 다음과 같은 오류가 발생합니다.

Creating instance of:System.EventArgs
Creating instance of:System.Random
여기까지 표시되고
System.Argumentnullexception:값은 null 일 수 없습니다.

이런 오류가 납니다.

그런데 2번처럼 MSDN 에서 그대로 Ctrl+c,Ctrl+v 해서 붙여놓고 실행하면 정상적으로 실행됩니다.
그래서 혹시 타이핑으로 해서 그런가 싶어 3번처럼 다시한 번 타이핑해서 실행해도 정상실행됩니다.

눈씻고 찾아봐도 1,2,3 이 같은 문자열이고 오타가 없는데 왜 이런 상황이 발생할까요??


 class Program
    {
        private static string intanceSpec = "System.EventArgs;Sytem.Random;System.Exception;System.Object;System.Version";<<=== 1

        //private static string intanceSpec = "System.EventArgs;System.Random;System.Exception;System.Object;System.Version";<<== 2
       // private static string intanceSpec = "System.EventArgs;System.Random;System.Exception;System.Object;System.Version";<<===3

        static void Main(string[] args)
        {
            string[] instances = intanceSpec.Split(';');

            Array instlist = Array.CreateInstance(typeof(object), instances.Length);
            object item;
            for (int i = 0; i < instances.Length; i++)
            {
                Console.WriteLine("Creating instance of: {0}", instances[i]);
                item=Activator.CreateInstance(Type.GetType(instances[i]));//<<============================== 4
                instlist.SetValue(item, i);
            }

            foreach (object o in instlist)
            {
                Console.WriteLine("Type: {0}\nValue: {1}\nHashCode: {2}\n", o.GetType().FullName, o.ToString(), o.GetHashCode());
            }

        }
    }








[최초 등록일: ]
[최종 수정일: 5/20/2012]


비밀번호

댓글 작성자
 



2012-05-20 11시13분
귀신이 곡할 일은 없습니다. 분명히, 1번과 2/3번은 다릅니다. 다시 한번 잘 보세요.
정성태
2012-05-21 01시43분
[발코더] 컥~
이틀 쳐다보니까 보이네요 ㅋㅋㅋ
단순 문자열안이라고 안이하게 생각했는데 그게 아니군요.
오타일꺼라 생각하고 수없이 찾다가 올린 질문인데 지송합니다.
저 부분은 타이핑할때도 언제나 자주 실수하는 부분입니다 ㅠㅠ
[guest]
2012-05-21 03시13분
사실 "발코더"님의 실수에 십분 공감하는 바입니다. 저도 가끔 그럴 때가 있거든요. ^^;
정성태

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216341교재 315페이지 내용 질문 [3]
5484Syong4/16/20219904윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215379익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217176WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217495GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216571Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20219034C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20216020c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20217034POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216570사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216440디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217243등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20215876MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20215808yield 질문있습니다!! [2]
5469유호성2/6/20215349Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215738실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215607c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20215980두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216251C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20217000Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217389사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216785AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216120typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20217019C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202174219.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216457교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...