Does Class need to implement IEnumerable to use Foreach

前端 未结 11 1754
慢半拍i
慢半拍i 2020-12-09 11:04

This is in C#, I have a class that I am using from some else\'s DLL. It does not implement IEnumerable but has 2 methods that pass back a IEnumerator. Is there a way I can u

11条回答
  •  失恋的感觉
    2020-12-09 11:08

    You could always wrap it, and as an aside to be "foreachable" you only need to have a method called "GetEnumerator" with the proper signature.

    
    class EnumerableAdapter
    {
      ExternalSillyClass _target;
    
      public EnumerableAdapter(ExternalSillyClass target)
      {
        _target = target;
      }
    
      public IEnumerable GetEnumerator(){ return _target.SomeMethodThatGivesAnEnumerator(); }
    
    }
    

提交回复
热议问题