본문 바로가기

Programming/.Net

dynamic 형식의 활용 Visual c# 2010에서 새롭게 소개한 dynamic 형식에 대한 활용을 검토해 보았습니다. 대부분의 예제 (msdn을 포함)에서는 COM Interop을 다루고 있는데요, 사실 이것만으로도 충분히 매력적이기는 합니다만... 진행 중인 Asp.Net MVC project의 ViewModel에 dynamic 형식을 적용해 보았습니다. client 요청에 대해 정형화된 하나의 ViewModel로 값을 반환하도록 설계하였습니다. (list, detail) 그리고 이를 GeneralViewModel 이라고 명명합니다. public class GeneralViewModel : BaseViewModel { public GeneralViewModel() { } public GeneralViewModel(int .. 더보기
#region 사용해야 할까? 오래된 감자인 #region, #endregion에 대한 의견입니다. #region, #endregionIDE(Visual studio)에서 collapse, expand 가능한 코드 블록을 지정하는 역할결국 이는 Visual studio를 위한 코드일뿐입니다. 사용하지 않아야 하는 이유MSDN의 내용을 참조하면 이는 임의로 코드 블록을 지정하기 위해서만 필요한 내용입니다.기본적으로 IDE에서는 constructor, property, method 및 using에 대해서 collapse, expand를 지원합니다. (Ctrl + M,O) 열고 닫기가 번거롭습니다. Multi-level의 code block은 ugly code를 숨기는 결과를 낳을 수 있습니다. Legacy code는 TFS(형상 관리 툴.. 더보기
Embedded resource name 규약 사건의 발단다국어 지원을 위해서 resx의 naming rule을 참조하여 xxxMail.html > xxxMail.{culture}.html명의 file을 등록해서 사용하려는데,ManifestResource 목록에서 확인이 되지 않았습니다.즉, xxxMail.html을 resource로 관리할 수 있지만, xxxMail.ko.html은 resource로 관리할 수 없습니다. 증상의 확인Assembly를 통해 embedded resource를 참조하는 경우, {namespace}.{resource name}으로 접근합니다.각각에 대해서 명확하게 구분하지 않으므로, ambiguous 할 수 있어 under bar(_)로 치환하여 확인하였습니다.그러자 정상적인 resource로 관리되는 것을 확인할 수 있었.. 더보기
[NuGet] PagedList.Mvc Asp.Net MVC HtmlHelper method for generating paging control for use with PagedList library.손쉽게 server side에서 paging 처리를 할 수 있게 도와주는 library입니다. • Install-Package PagedList.Mvc (include PagedList.dll)• Usage• Controller• View Referencehttps://github.com/troygoode/PagedList 더보기
LinQ 유사 검색 LINQ를 이용하여 유사 검색(SQL의 LIKE ‘%%’)을 하는 경우, 보통 Contains() 메서드를 사용할 수 있습니다.그런데, 이 경우 case sensitive 하므로, 대소문자를 정확하게 구분한 키워드를 넘겨야 원하는 결과를 얻을 수 있습니다. Case insensitive하게 사용하기 위해서는 일반적으로 다음과 같이 처리합니다. 더보기