컴파일러는 잠재적으로 안전하지 않은 캐스트를 허용하지 않습니다. 닥치라고 말하는 방법을 알고 싶습니다.
List<T> _list = new List<T>();
B getFirst() { return (B) _list[0]; }
이것이 가능합니까 아니면 내가 써야합니까
B b = _myList[0] as B;
Debug.Assert( b != null );
return b;
명시 적 캐스트의 요점은 안전하지 않은 작업을하는 것이라고 생각했습니다. 허용되지 않는 것이 이상합니다.
object
먼저 캐스트 한 다음 type B
좋아요 표시 (이미 댓글이 달린대로)
return (B) (object) _list[0];
또는
아래와 같이 안전한 방법으로 전송 해보세요. 반환하기 전에 nullity를 확인하지만 object
실제 유형으로 캐스팅하는 것이 더 일반적인 방법입니다.
B getFirst()
{
B b = _list[0] as B;
if (b != null)
{
return b;
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다