2010-02-24 8 views

답변

29

익명 유형은 디자인 상 변경 불가능합니다.

익명 형식은 값을 보유하고 값을 나타내는 형식은 변경할 수 없습니다.

또한 생성 후 해시 코드가 변경 될 수 있으므로 사전에서 신뢰할 수 없게 만듭니다.
많은 LINQ 메서드가 사전을 사용하며, 특히 지연된 평가에서 변경할 수있는 형식의 LINQ로 인해 미묘한 신비한 버그가 발생할 수 있습니다.

+0

빠름 :-) Thnx – Marko

+7

VB의 익명 형식은 부분적으로 변경 될 수 있습니다. VB에서는 익명 타입의 어느 부분이 변경 가능한지를 알 수 있습니다. 생성 된 코드는 해시 코드/동등성의 일부로 변경 가능한 비트를 사용하지 않으므로 사전에 "손실"문제가 발생하지 않습니다. 우리는 C#에서 이러한 확장을 구현하지 않기로 결정했습니다. –

+0

나는 그것을 몰랐다. 감사. – SLaks