2008-11-03 7 views
1

생성자의 매개 변수 수를 결정하는 방법을 찾으려고합니다.생성자에서 매개 변수의 양을 찾는 방법

이제 매개 변수가없는 생성자와 매개 변수가있는 생성자를 만들었습니다.

C#에서는 사용 된 또는 제공된 생성자의 매개 변수 수를 확인할 수 있습니까?

나는 로그 파일을 읽으려면 세 번째 생성자를 사용하고 있습니다. 이러한 로그 파일은 string [] 요소로 읽히며 인수가있는 수만큼 있어야합니다. 그렇지 않으면 손상된 로그 파일이 있습니다.

그러나 저는 많은 하위 클래스를 사용하고 있으며 각 생성자는 특정 로그 유형에 대해 더 많은 매개 변수를 가지고 있습니다.

그래서 알고 싶습니다 : 생성자의 매개 변수 양을 확인하는 방법이 있습니까?

예, 이것은 학교 과제입니다. 나는 VS2008 객체 브라우저가 현재별로 쓸만하지 않기 때문에 어떤 용어를 찾아야할지 모릅니다.

+0

일부 소스 코드를 게시하십시오. 설명에서 말하는 내용을 이해하기 어렵습니다. 나는/디자인 결함이 있다고 의심하여 ​​잘못된 문제를 해결하려고 노력하고있다. ;-) –

답변

3

System.Reflection 네임 스페이스를 확인해야합니다. 더 구체적으로 말하자면 다음과 같이 클래스의 생성자 목록을 얻을 수 있습니다.

System.Type.GetType("MYClassName").GetConstructors() 
0

난 당신이 정보가 필요 정확히 어떤 상황 모르겠지만, 그렇지 않으면 인텔리 드롭 목록 당신에게 사용할 수있는 모든 생성자를 표시해야합니다 당신이하는 System.Reflection 네임 스페이스

을 시도 동적으로 실행시 필요한 경우 ...

2

코드를 다시 생각해야하는 것처럼 들립니다. 설명에서 동적으로 생성자에서 인수의 수를 결정하는 것은 약간 털이 들립니다. 생성 된 객체 유형이 런타임에 결정되므로 팩토리 디자인 패턴을 고려할 수 있습니다. 내가 당신의 문제를 오해한다면 다른 대답이 가리키는 반성을 사용하면 당신을 속일 것입니다.

0

매개 변수의 양은 일정합니다. 나는 그들을 정의했고 그들은 변화하지 않고있다. 무슨 일

내가 출판물 나무의 일종의 시뮬레이션 그리고 난 그에서 분열을 만들고있어입니다 (a.k.a. 서브 클래스)

이 thusly 히, 내 서브 클래스의 모든 생성자는 매개 변수를하거나 상속 클래스가 있습니다.

따라서 길이는 출판물 유형별로 다릅니다.

로그 파일을 읽는 동안 게시 데이터를 시각화해야하는 경우를 대비하여 세 번째 생성자가 있습니다.

하지만 로그 파일이 손상되었을 수 있음을 고려해야합니다. 어떤 로그 파일에 내 모든 매개 변수에 대한 데이터가없는 가능성이 포함됩니다.

이것은 생성자에서 매개 변수의 양을 찾는 방법을 알아야만하는 이유입니다. 필자가 가지고있는 매개 변수의 양과 비교하여 내 로그에 얼마나 많은 데이터가 있는지 확인해야합니다.

+0

일부 코드를 게시하십시오. 귀하의 질문에 많은 의미가 없습니다. –

0

로그 파일 (또는 현재 원시 로그 파일 항목)에 대한 참조를 가져 와서 읽을 수 있고 문제가 있으면 오류를 발생시키는 생성자를 만들 수 있습니까?

저는 왜 생성자가 가지고있는 요소의 수를 봐야하는지 이해하려고합니다. 지금까지 로그 파일의 요소 수가 생성 될 게시 유형을 식별한다는 것을 지금까지 신뢰하지 못했던 약한 설계 인 것 같습니다.

즉각적인 질문에 대한 간단한 대답은 이전 답변에 명시된 것입니다. 만들고자하는 클래스의 생성자를 반영하고 매개 변수를 검사하십시오.

+0

그 점이 더 유용 할 것입니다. 또한 "반사"및 "System.Reflections"VS2008 개체 브라우저에서 찾았으므로 검색 결과가 없습니다 – Vordreller

+0

It 's System.Reflection Reflections. 리플렉션은 런타임에 클래스 유형 정보를 보는 행위입니다. –