.NET 4.0/VS 2010의 TryCast 동작이 다소 혼란 스럽습니다.DirectCast가 작동하는 곳에서 TryCast가 실패합니다 (.NET 4.0)
내 생각에 TryCast는 DirectCast와 유사하지만 캐스트를 사용할 수없는 경우 예외를 throw하는 대신 Nothing을 반환합니다.
VS 2010/.NET 4
?TryCast(CType(1, Object), String)
Nothing
?DirectCast(CType(1, Object), String)
"1"
VS 2008/.NET 3.5
?TryCast(CType(1, Object), String)
Nothing
?DirectCast(CType(1, Object), String)
Cannot convert to 'String'.
3.5 결과 내가 TryCast가하는 생각 것과 일치하는 .NET ... 그러나 .NET 4는 그렇지 않습니다.
.NET 4에서 개체를 String으로 안전하게 캐스트 할 수있는 가장 좋은 방향을 알려주십시오.
나는 당신이 제안한 것을 확인했다. DirectCast()는 실제로 실제 평가에서 실행될 때 예외를 throw합니다. 설명 주셔서 감사합니다! – motto
정확히 무슨 일이 일어 났는지 설명 할 수 있다면 정말 멋질 것입니다. – SLaks
@SLaks에 대한 간단한 설명이 추가되었습니다. – JaredPar