본문 바로가기

Programming/.Net

dynamic 형식의 활용

Visual c# 2010에서 새롭게 소개한 dynamic 형식에 대한 활용을 검토해 보았습니다.


대부분의 예제 (msdn을 포함)에서는 COM Interop을 다루고 있는데요,

사실 이것만으로도 충분히 매력적이기는 합니다만...


진행 중인 Asp.Net MVC project의 ViewModel에 dynamic 형식을 적용해 보았습니다.

client 요청에 대해 정형화된 하나의 ViewModel로 값을 반환하도록 설계하였습니다. (list, detail)

그리고 이를 GeneralViewModel 이라고 명명합니다.

Value는 선택적으로 IViewModel을 갖거나 PageList (has collection, totalCount, ...etc)를 가질 수 있습니다.
client에서는 list를 요청하는 경우 data.Value.Items에서 확인할 수 있으며,
detail을 요청하는 경우 data.Value로 확인할 수 있습니다.


Object와의 비교 (ref #2)

위의 경우는 object로 사용하는 것으로도 충분히 구현할 수 있습니다.

실제 dynamic과 object를 용태에 맞춰서 쓸 수 있도록 차이를 명확히 알 필요가 있습니다.


간략히 서술하자면 dynamic은 그 type을 run-time 때 알 수 있으므로, compiler는 이에 대해서 신경쓰지 않습니다.

쉽게 javascript 처럼 쓸 수 있다고 이해하면 큰 무리가 없을 듯 합니다.



References

http://msdn.microsoft.com/ko-kr/library/dd264736.aspx

http://blogs.msdn.com/b/csharpfaq/archive/2010/01/25/what-is-the-difference-between-dynamic-and-object-keywords.aspx


'Programming > .Net' 카테고리의 다른 글

Oracle Stored Procedure for .Net  (0) 2014.10.23
[NuGet] ImageResizer  (0) 2014.10.14
#region 사용해야 할까?  (0) 2014.08.04
Embedded resource name 규약  (0) 2014.07.29
[NuGet] PagedList.Mvc  (0) 2014.07.22