Си диез / Говнокод #21167 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
using System;


namespace Aquapear.Collections
{
	
	/// <summary>
	/// Некая перечислимая в цикле foreach сущность.
	/// </summary>
	public abstract class Enumerable<TItem> : System.Collections.Generic.IEnumerable<TItem>
	{
		/// <summary> Чтобы сущность перечислялась создаётся перечислитель для неё </summary>
		abstract public Enumerator<TItem> CreateEnumerator();
		
	//---
		public System.Collections.Generic.IEnumerator<TItem> GetEnumerator()
		{ return CreateEnumerator(); }

		System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
		{ return CreateEnumerator(); }
	}
	

}

using System;


namespace Aquapear.Collections
{
	

	public abstract class Enumerator<TItem>
	: System.Collections.Generic.IEnumerator<TItem>
	{
		
		abstract public TItem Current();
		abstract public void Dispose();

		abstract public bool MoveNext();
		abstract public void Reset();


	//---
		object System.Collections.IEnumerator.Current
		{ get { return (object)Current(); } }

		TItem System.Collections.Generic.IEnumerator<TItem>.Current
		{ get { return Current(); } }
	}


}

Когда IEnumerable<T> уже не возбуждает

Запостил: d_fomenok d_fomenok, (Updated )

Комментарии (11) RSS

  • using System;
    
    namespace Aquapear.Collections
    {
    	
    
    	/// <summary>
    	/// Перечлислитель №2 содержащий внутри системный нешаблонный перечислитель
    	/// "System.Collections.IEnumerator"
    	/// </summary>
    	public class SystemEnumerator2<TItem>:Enumerator<TItem> {
    		System.Collections.IEnumerator sys;
    
    		public SystemEnumerator2(System.Collections.IEnumerator sys_) {
    			sys = sys_;
    		}
    
    		public override TItem Current()
    		{ return (TItem)sys.Current; }
    
    		public override void Dispose()
    		{ }
    
    		public override bool MoveNext()
    		{ return sys.MoveNext(); }
    
    		public override void Reset()
    		{ sys.Reset(); }
    	}
    
    
    
    	/// <summary>
    	/// Перечлислитель содержащий внутри системный шаблонный перечислитель
    	/// "System.Collections.Generic.IEnumerator{TItem}"
    	/// </summary>
    	public class SystemEnumerator<TItem> : Enumerator<TItem>
    	{
    		System.Collections.Generic.IEnumerator<TItem> sys;
    
    		public SystemEnumerator(System.Collections.Generic.IEnumerator<TItem> sys_) {
    			sys = sys_;
    		}
    		
    		public override TItem Current()
    		{ return sys.Current; }
    
    		public override bool MoveNext()
    		{ return sys.MoveNext(); }
    
    		public override void Reset()
    		{ sys.Reset(); }
    
    		
    		public override void Dispose()
    		{ sys.Dispose(); }
    		
    	}
    
    
    }
    Ответить
    • ПАДНАСРЁМ
      ла-ла-ла-ла-ла
      ПАДНАСРЁМ
      ла-ла-ла-ла-ла
      Ответить
        • Хуясе, живой анонимб в двакейшестнадцатом.
          Ответить
          • Поздравим всех мусульман мира с праздником и пожелаем им, чтобы Аллах ниспослал им благословение на разрешение от бремени запрета на однополые соития.

            Ид аль-Адъхьа мубарак!
            Ответить
  • Блин, я внезапно понял, что фомёнок с его говнолабами, это намного лучше, чем багры и аналтичеры... Скоро, наверное, буду плюсы ставить...
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8