2010-04-20 5 views
1

사전을 사용하여 코딩 할 때 Visual Studio에 표시되도록 사전에 키 사용을 문서화하려면 어떻게해야합니까?사전의 문서 키 용도

내가 좋아하는 뭔가를 찾고 있어요 :

/// <param name="SpecialName">That Special Name</param> 
public Dictionary<string,string> bar; 

지금까지 최선의 시도는 내 자신의 클래스 작성되었습니다

public class SpecialNameDictionary : IDictionary<string, string> 
{ 
    private Dictionary<string, string> data = new Dictionary<string, string>(); 

    /// <param name="specialName">That Special Name</param> 
    public string this[string specialName] 
    { 
     get 
     { 
      return data[specialName]; 
     } 
    } 
} 

을하지만 그것은하지 않는 코드를 많이 추가 뭐든지해라. 또한 모든 사전 메서드를 다시 입력하여 컴파일해야합니다.

위의 더 좋은 방법은 있습니까?

답변

1

이 같은 사전을 정의 할 수 있습니다.

+0

감사합니다. 내 두 예제 사이에 그런 식으로 시도했지만 무시가 작동하지 않고 새 키워드를 잊어 버렸습니다. – hultqvist

1

문서 같은 분야 :

/// <summary> 
/// A map from the special name to the frongulator. 
/// </summary> 
public Dictionary<string,string> bar; 

(. 나는 현실에 공개 여부 필드 중 하나 아니라고 가정 -하지만 같은 개인 필드 또는 공유 재산에 대해 적용됩니다)

당신 인덱서 자체에서 IntelliSense를 얻지는 못하지만, bar을 사용하면 합리적으로 명확 해집니다. 현장/건물 자체가 명확

  • 의 이름을 확인
  • 명확 사용을 만들

    • 사용 유형 (문자열 무엇이든 될 수 있지만, FrongulatorSpecialName은 명확) :

      세 가지 다른 대안 사전을 숨기고 "GetFrongulatorBySpecialName"과 같은 메서드를 추가하십시오.

  • 0

    대신 Dictionary<>에서 직접 상속받을 수 있습니다., 인덱서를 다시 구현하기 만하면됩니다.

    public class SpecialNameDictionary : Dictionary<string, string> 
    { 
        /// <param name="specialName">That Special Name</param> 
        public new string this[string specialName] 
        { 
         get 
         { 
          return base[specialName]; 
         } 
        } 
    } 
    

    대신 IDictionary에서 파생

    사전에서 파생 및 인덱서의 새로운 구현합니다