2013-04-05 7 views
6

동적으로 선언 된 변수의 기본값은 무엇입니까? private dynamic banana;?동적 유형의 기본값은 무엇입니까?

유형을 런타임에 결정할 때 default() 함수를 사용할 수 있습니까?

기본 값을 찾아야하는 이유는 한 번만 설정하려고하지만 (readonly은 아님) 클래스의 동적 멤버를 선언 한 다음 여러 번 사용하는 것입니다.

동적 변수가 런타임 유형을 알지 못해 기본값 이외의 값으로 설정되었는지 어떻게 확인합니까?

Google은 이것에 대해 아무 것도 생각지도 못했습니다. S

미리 감사드립니다.

+1

'default (dyanmic.GetType()) '로 유형을 확인할 수 있습니다. – gdoron

+0

유형 객체의 유형 및 백킹 유형 필드의 읽기 전용 속성을 사용하지 않는 이유는 무엇입니까? 그렇게하면 뒷받침 필드를 확인할 수 있습니다. –

+0

@AkashKava, 생성자에서 값을 설정하지 않으므로 읽기 전용을 사용할 수 없습니다./ – Sinker

답변

5

null입니다.

dynamic blah; 
Console.Write(blah); // crash 
Console.Write(blah.GetType()); // NullRef 

.. 무슨 뜻인가요?

+1

'Console.Write'는'null'을 전달할 때 충돌하지 않으며 단순히 아무것도 출력하지 않습니다. http://msdn.microsoft.com/en-us/library/zcwe8sfx.aspx –

+0

> @EdS., 다음과 같은 오류가 발생합니다. > { "다음 호출이나 속성 사이의 호출이 모호합니다. 'System.Console .Write (문자열) '및'System.Console.Write (char []) ' "} – Sinker

+4

@Sinker : 충돌이 아닙니다. –

관련 문제