1. C# / Говнокод #5238

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    public class A
    {
        private int field;
        public int Field { get { return field; } }
    
        public void Foo()
        {
             B.CreateInstance().A.field = 4;
        }
    }
    
    public class B
    {
        private static _b = null;
        private A _a = new A();
        public A { get { return _a; } }
    
        private B() {}
        public static B CreateInstance()
        {
             if (_b == null)
             {
                  _b = new B();
             }
             return _b;
        }
    }

    Встретил сегодня. Не мог не поделиться. Кода там много, поэтому выписал суть. CreateInstance() - это реальное название метода.

    Запостил: t36, 12 Января 2011

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

    • Ай, блин. Сори.
      вместо public int Field { get { return field; } }
      public int Field { get { return B.CreateInstance().A.field; } }

      Чтобы не думали, что в этом есть какой-то другой смысл. Класс A работает со своим состоянием через синглтон извне. Вдруг, наверное, кто-то забудет класс использовать в синглтоне? Надо заставить
      Ответить

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