Advertisement
Guest User

MarshalByRefEnumerable

a guest
Jul 16th, 2011
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.60 KB | None | 0 0
  1.     public class MarshalByRefEnumerable<T> : MarshalByRefObject, IEnumerable<T>
  2.     {
  3.         private readonly IEnumerable<T> _wrappedEnumerable;
  4.  
  5.         public MarshalByRefEnumerable(IEnumerable<T> wrappedEnumerable)
  6.         {
  7.             _wrappedEnumerable = wrappedEnumerable;
  8.         }
  9.  
  10.         public IEnumerator<T> GetEnumerator()
  11.         {
  12.             return new MarshalByRefEnumerator<T>(_wrappedEnumerable.GetEnumerator());
  13.         }
  14.  
  15.         IEnumerator IEnumerable.GetEnumerator()
  16.         {
  17.             return new MarshalByRefEnumerator<T>(_wrappedEnumerable.GetEnumerator());
  18.         }
  19.     }
  20.  
  21.  
  22.  
  23.     public class MarshalByRefEnumerator<T> : MarshalByRefObject, IEnumerator<T>
  24.     {
  25.         private readonly IEnumerator<T> _wrappedEnumerator;
  26.  
  27.         public MarshalByRefEnumerator(IEnumerator<T> wrappedEnumerator)
  28.         {
  29.             _wrappedEnumerator = wrappedEnumerator;
  30.         }
  31.  
  32.         public void Dispose()
  33.         {
  34.             _wrappedEnumerator.Dispose();
  35.         }
  36.  
  37.         public bool MoveNext()
  38.         {
  39.             return _wrappedEnumerator.MoveNext();
  40.         }
  41.  
  42.         public void Reset()
  43.         {
  44.             _wrappedEnumerator.Reset();
  45.         }
  46.  
  47.         object IEnumerator.Current
  48.         {
  49.             get { return Current; }
  50.         }
  51.  
  52.         public T Current
  53.         {
  54.             get { return _wrappedEnumerator.Current; }
  55.         }
  56.     }
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.     public IEnumerable<City> LadeVerzeichnis(string dateiname)
  64.     {
  65.         City[] cities = CreateCities(dateiname);
  66.         return new MarshalByRefEnumerable<City>(cities);
  67.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement