Kitaptaki bir örneği takip etmeye çalışıyordum ve daha sonra bir düğmeye basarak değerleri koymak istedim. Bu sadece temelleri anlamaya çalışan basit bir düzeltme olmalı.Özetten kullanılabilir bir Tamsayı'ya mı gidiyorsunuz?
abstract class Spaceship
{
abstract public void LaserHit();
}
class CombatShip : Spaceship
{
public override void LaserHit(int L)
{
int L = 10;
}
}
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
CombatShip goliath = new CombatShip();
int L = goliath.LaserHit() - 10;
}
}
LaserHit yönteminiz bir tamsayı bekleniyor. Int L = goliath.LaserHit (10) 'yapmak istiyor musunuz? Yöntem, beklediği parametreyle de hiçbir şey yapmaz. –
Kodda tam olarak ne yapmaya çalışıyorsunuz? Şu anda yöntem çağrısının yanlış kullanımı nedeniyle tamamen belirsizdir. –
Sadece yanlış kullanım değil, aynı zamanda bu kodun hiçbir şekilde derlenmediğini söyleyebilirim. LaserHit yöntemini geçersiz kıl, soyut yöntemden farklı bir imzası vardır. Button_Click yönteminde bir değer (int?) Döndürdüğü gibi kullanılır, ancak her iki yöntem tanımı ve bildirimi geçersiz dönüş değerine sahiptir. SDJ, probleminizi çok daha açık bir şekilde belirtmeniz gerekiyor. – Christoph