2 klasy abstrakcyjne razem.

0

Mam 1 klasę abstrakcyjną w której jest metoda Wait. Stworzyłem drugą klasę abstrakcyjną, aby metodę Wait troszkę zmodyfikować. Wygląda to mniej więcej tak:

public abstract class Druga : Pierwsza
{
     public void Wait(int msDuration)
     {
           base.Wait(msDuration);
           Console.WriteLine("czekam...");
     }
}

public class MojaKlasa : Druga
{
     public MojaKlasa()
     {
        ...
     }
}
 

W tym momencie dostaję błąd, że nie można MissingMethodException: Cannot create an abstract class. Wiem, że mogę metodę Wait przedefiniować w klasie MojaKlasa, ale chodzi mi o to, żeby przy tworzeniu innych klas już to było zrobione. Jest jakiś sposób, żeby to zrobić?

0

Ten kod i koncepcja są prawidłowe. Błąd jest związany z czymś innym. Jaki to jest typ aplikacji? Jaka struktura projektu? Prawdopodobnie próbujesz wywołać metodę z powiązanego assembly, której już tam nie ma.

0

Piszę moda do GTA IV korzystając z Scripthook'a. Wrzucę większą część kodu. Powinno to bardziej pomóc w rozwiązaniu problemu.

public abstract class MainClass : Script
{
	public void Wait(int msDuration)
	{
		base.Wait(msDuration);
	}
}

public class GTAMod : MainClass
{
	private GTAGraphMenu _gtaGraphMenu; konstruktor -> public GTAGraphMenu(Script script)
	private VehicleMod _vehicleMod; konstruktor -> public VehicleMod(GTAMod gtaMod, Player actualPlayer)

	public GTAMod()
	{
		Game.DisplayText("GTAMod active!", 5000);
		this.KeyDown += new KeyEventHandler(begin);
		this._gtaGraphMenu = new GTAGraphMenu(this);
		this._vehicleMod = new VehicleMod(this, Player);
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1