Activator.CreateInstance의 결과를 인터페이스 유형으로 캐스팅 할 때 var 키워드를 사용하는 방법에 대해 몇 가지 질문이 있습니다. 내가 VAR을 알고있는 것처럼, 다음 코드 쌍은 VAR 버전 및 명시 적 유형 버전과 거의 동일하다 Activator.CreateInstance가있는 var 키워드?
// Direct cast
var thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
IThing thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
// Casting with as
var thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
IThing thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
가 거기에 내가 그 인텔리 또는 런타임 동작을 변경할 수 누락 어떤 미묘한 차이는?
귀하의 마지막 문장은 약간의 차이를보고있는 의미 - 좀 더 구체적으로 할 수 있습니까? (또는 나는 그것으로 너무 많이 읽고 있냐?) – ChrisF
* 나는 아무런 차이가 없지만, 동료와 함께 var의 장점에 대해 토론하고 있었다. 우리 둘 다 확실하지 않았고, 나는 오히려 미안하다는 것을 확신합니다. –