2012-02-07 3 views
0

StringResourceCollection이라는 클래스를 정의했습니다. 내 클래스 선언은 다음과 같다 : 열거 강력하게 입력해야합니다 :FxCop 규칙 수정 : 열거 형을 강력하게 형식화해야합니다.

namespace EPGObjectModel.IDE 
{ 
    using System; 
    using System.Collections; 
    using System.Collections.Generic; 
    using System.Text; 

    public class StringResourceCollection : CollectionBase, IEnumerator 
    { 
     #region Fields 

     private int index = -1; 

     #endregion Fields 

     #region Properties 

     public object Current 
     { 
      get { return this.List[index]; } 
     } 

     #endregion Properties 

     #region Indexers 

     public EPGString this[string index] 
     { 
      get 
      { 
       Reset(); 
       while (this.MoveNext()) 
       { 
        if (((EPGString)Current).StringId == index || ((EPGString)Current).StringName.Equals(index)) 
         return (EPGString)Current; 
       } 
       return null; 
      } 
     } 

     #endregion Indexers 

     #region Methods 

     public int Add(EPGString item) 
     { 
      try 
      { 
       return List.Add(item); 
      } 
      catch(Exception) 
       { 
        throw; 
       } 
     } 

     public void Modify(string id, EPGString resourceToModify) 
     { 
      EPGString stringRes = this[id]; 
      stringRes.DeletePermission = resourceToModify.DeletePermission; 
      stringRes.ModifyPermission = resourceToModify.ModifyPermission; 
      stringRes.StringInputLanguage = resourceToModify.StringInputLanguage; 
      stringRes.StringLanguage = resourceToModify.StringLanguage; 
      stringRes.StringName = resourceToModify.StringName; 
      stringRes.StringText = resourceToModify.StringText; 
     } 

     public void Modify(EPGString resourceToModify) 
     { 
      EPGString stringRes = this[resourceToModify.StringName]; 
      if (stringRes == null) 
       return; 
      stringRes.DeletePermission = resourceToModify.DeletePermission; 
      stringRes.ModifyPermission = resourceToModify.ModifyPermission; 
      stringRes.StringInputLanguage = resourceToModify.StringInputLanguage; 
      stringRes.StringLanguage = resourceToModify.StringLanguage; 
      stringRes.StringName = resourceToModify.StringName; 
      stringRes.StringText = resourceToModify.StringText; 
     } 

     public bool MoveNext() 
     { 
      this.index++; 
      return (this.index < this.List.Count); 
     } 

     public void Remove(EPGString item) 
     { 
      try 
      { 
       List.Remove(item); 
      } 
      catch (ArgumentException) 
      { 
       throw; 
      } 
     } 

     public void Reset() 
     { 
      index = -1; 
     } 

     #endregion Methods 
    } 
} 

내 코드에의 FxCop 도구를 실행, 그것은 가 어떻게이의 FxCop 규칙을 수정할 수 있습니다 "강력하게 입력해야합니다 열거 형"의 에러를 보여줍니다 수업 시간에? 여기서 모든 변경 작업을 수행해야합니까? 당신은 문자열의 컬렉션을 구현하고 있기 때문에

답변

5

, 당신은 구현해야

IEnumerator<string> 

있는 IEnumerator

외에