Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Ошибка


Автор: Лена 12.9.2007, 17:09
Я пытаюсь сделать пример из книги в VS 2005 C#. Ошибка при компиляции на рисунке. Как исправить?
Код

using System;
namespace CarLibrary
{
    public enum EngineState
    {
        engineAlive,
        engineDead
    }

    public abstract class Car
    {
        // State data.
        protected string petName;
        protected short currSpeed;
        protected short maxSpeed;
        protected EngineState egnState = EngineState.engineAlive;
        public abstract void TutboBoost();
        // Ctors.
        public Car()
        {
            //MessageBox.Show("Car 2.0.0.0");
        }
        public Car(string name, short max, short curr)
        {
            //MessageBox.Show("Car 2.0.0.0");
            petName = name; maxSpeed = max; currSpeed = curr;
        }

        public string PetName
        {
            get { return petName; }
            set { petName = value; }
        }
        public short CurrSpeed
        {
            get { return currSpeed; }
            set { currSpeed = value; }
        }
        public short MaxSpeed
        {
            get { return maxSpeed; }
        }

        public EngineState EngineState
        {
            get { return egnState; }
        }
    }
}


Автор: tol05 12.9.2007, 17:12
ты создаешь dll, а это не executable файл 
сделай консольное приложение или windowsForms application, добавь эту dll в референсы этого приложения и юзай.
smile

Автор: Лена 12.9.2007, 17:19
Понятно, спасибо! 
Тут в книге проект начинается с создания Class Library. Думала, что компиляция просто "тихо" проедет без ошибок.  smile 

Автор: Лена 12.9.2007, 17:36
Чтобы доделать пример сделала еще один класс в проекте отдельным файлом:
Код

using System;
using System.Windows.Forms;

namespace CarLibrary
{
    #region Sports car
    // The SportsCar
    public class SportsCar : Car
    {
        // Ctors.
        public SportsCar() { }
        public SportsCar(string name, short max, short curr)
            : base(name, max, curr) { }

        // TurboBoost impl.
        public override void TurboBoost()
        {
            MessageBox.Show("Ramming speed!", "Faster is better...");
        }
    }
    #endregion

    #region Minivan
    // The MiniVan
    public class MiniVan : Car
    {
        // Ctors.
        public MiniVan() { }
        public MiniVan(string name, short max, short curr)
            : base(name, max, curr) { }

        // TurboBoost impl.
        public override void TurboBoost()
        {
            egnState = EngineState.engineDead;
            // The perfect API function ala .NET.
            MessageBox.Show("Time to call AAA", "Your car is dead");
        }

        public void TellChildToBeQuiet(string kidName, int numb)
        {
            for (int i = 0; i < numb; i++)
                MessageBox.Show("Be quiet " + kidName + "!!");
        }
    }
    #endregion
}



Ощибки: Error    1    'CarLibrary.SportsCar.TurboBoost()': no suitable method found to override    C:\Documents and Settings\Kitty\Desktop\VS\ClassLibrary1\ClassLibrary1\Class2.cs    16    30    ClassLibrary1

Error    2    'CarLibrary.SportsCar' does not implement inherited abstract member 'CarLibrary.Car.TutboBoost()'    C:\Documents and Settings\Kitty\Desktop\VS\ClassLibrary1\ClassLibrary1\Class2.cs    8    18    ClassLibrary1

Вроде делаю как в книге. Что не правильно?




Автор: zaver 12.9.2007, 17:39

Ощибки: Error    1    'CarLibrary.SportsCar.TurboBoost()': no suitable method found to override    C:\Documents and Settings\Kitty\Desktop\VS\ClassLibrary1\ClassLibrary1\Class2.cs    16    30    ClassLibrary1

Error    2    'CarLibrary.SportsCar' does not implement inherited abstract member 'CarLibrary.Car.TutboBoost()'    C:\Documents and Settings\Kitty\Desktop\VS\ClassLibrary1\ClassLibrary1\Class2.cs    8    18    ClassLibrary1


бывает  smile 

Автор: Лена 12.9.2007, 17:41
Ясно. Спасибо за подсказку с опечаткой.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)