C# UserComponent 쓸때 Object reference not set to an instance of an object: 오류경험처리

//에러가 발생했던 초기상태
public static string[] strArr주식코드;
public static string[] strArr옵션코드;
public static string[] strArr주식선물코드;
public static string[] strArr주식옵션코드;
문자열 클래스를 만들어놓고 생성자가 뜨면 이것들을 한번에 초기화 시켜주는 형태로 만들었다.
null 어쩌고 오류가 떴다. 근데 처음부터 떴으면 진작에 고쳐놨을건데 어이없게도 한참 잘 돌아가다가 그냥 갑자기 뜬다.;;;

어쨌든 그래서 눌들을 없애줬다.
프로그램 제일 앞부분에 이 클래스의 생성자를 호출 해 주기 때문에 순서상으로는 문제가 없지만....
비주얼 스튜디오가 이거 안하면 유저 컴포넌트를 안 띄워준다니까 할 수 없지..

//수정후
public static string[] strArr주식코드 = { "", "" };
public static string[] strArr옵션코드 = { "", "" };
public static string[] strArr주식선물코드 = { "", "" };
public static string[] strArr주식옵션코드 = { "", "" };
대충 초기화시켜줬다. 에러는 없어졌다.
어차피 생성자 뜨면서 값도 변경되니까 아무거나 넣어도 상관도 없고... 
어쨌든 한 20분쯤 골치 썪은 것 같다.
외국 커뮤니티 보니까 예외처리를 해버리라는 말도 있고 그랬는데...

값을 선언할 때는 무조건 초기화를 시켜놓자... 특히 static은

int int숫자= 0;

string str문자열=""

c#는 한글로 변수명이 잘 만들어져서 자주 사용하는데... 편하다.

호환이 안된다는 말도 있던데... 뭐 혼자 쓸거니까

그리고 어차피 한국에서만 쓴다면 문제 없을듯....

[펌]C++ import 에러 발생상황

http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=5779&ref=5779


stdafx.h 에 #import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace

하고 컴파일을 시키게 되면 아래와 같은 에러가 발생합니다.

d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2629: unexpected 'short ('
d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2238: unexpected token(s) preceding ';'

이것은 EOF 와 ADOEOF 간의 name 충돌에 의한 현상이라고 하더군요..

해결하기 위해서는 아래와 같이 EOF의 충돌을 방지하기 위해 adoEOF나 ADOEOF 등과 같이 누가 보아도 알기 쉽게 바꾸어주시면 좋겠죠..

참고적으로 KSEOF(제 이름 이니셜에다가.. --;) 이런식으로 해주시면 코딩해놓고 욕먹습니다.

가급적이면 자기만 알 수 있는 코딩은 안하는게 좋겠죠.. ^^;

#import "c:\Program Files\Common Files\System\ADO\msado15.dll"  no_namespace rename("EOF", "adoEOF") rename("BOF", "adoBOF")

이런식으로 하게 되면 EOF 간의 name 충돌은 없어지게 됩니다.