예제 #1
0
 protected Shape(TypeDraw typeDraw)
 {
     this.typeDraw = typeDraw;
     resetRemaningClick();
     this.color = Color.Black; //default color
     setTransformFlag(false);
 }
        public MyClass()
        {
            // Создаем экземпляр класса с методами
            DelegateTest delegateTest = new DelegateTest();
            // Объявляем ссылки на объекты делегатов
            TypeShow typeShow;
            TypeDraw typeDraw;

            // Создаем объекты делегатов
            typeShow = new TypeShow(delegateTest.Show1);
            typeDraw = new TypeDraw(delegateTest.Draw1);
            // Вызываем методы посредством делегатов
            typeShow();
            typeDraw("int Draw1(string str1)");
            // Адресуемся к другим методам с той же сигнатурой
            typeShow = new TypeShow(delegateTest.Show2);
            typeDraw = new TypeDraw(delegateTest.Draw2);
            // Вызываем другие методы посредством делегатов
            typeShow();
            typeDraw("int Draw2(string str2)");
            // Вызываем статический метод
            // посредством подходящего делегата
            typeDraw = new TypeDraw(DelegateTest.Print);
            typeDraw("static int Print(string str)");
        }
예제 #3
0
        public void initShape(TypeDraw type)
        {
            switch (type)
            {
            case TypeDraw.Line:
                shape = new Line();
                break;

            case TypeDraw.Circle:
                shape = new Circle();
                break;

            case TypeDraw.Ellipse:
                shape = new Ellipse();
                break;

            case TypeDraw.Parallelogram:
                shape = new Parallelogram();
                break;

            case TypeDraw.Rectangle:
                shape = new Rectangle();
                break;

            case TypeDraw.Triangle:
                shape = new Triangle();
                break;

            case TypeDraw.Cube:
                shape = new Cube();
                break;

            case TypeDraw.Cylinder:
                shape = new Cylinder();
                break;

            case TypeDraw.Square:
                shape = new Square();
                break;
            }
            shape.setColor(color);
            choosedFlag = false;
        }
예제 #4
0
 protected void setTypeDraw(TypeDraw typeDraw)
 {
     this.typeDraw = typeDraw;
 }