次の単純なコードでは、私はサブクラスで定義されているメソッド 'PrintMessage'にアクセスしようとしています。私はSuperClassのオブジェクトを作成し、これにSubClassのインスタンスを開始しました。なぜこれが間違っているのか理解したいですか?サブクラスのメソッドをスーパークラスのオブジェクトから呼び出す方法は?
コード実行時に次のエラーが発生します。
エラー '1' .SuperClass 'に' PrintMessage 'の定義がなく、' SuperClass 'タイプの最初の引数を受け入れる拡張メソッド' PrintMessage 'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか? )
class Program
{
static void Main(string[] args)
{
SuperClass objSuperClass = new SubClass();
//The following statement gives me error
objSuperClass.PrintMessage();
}
}
public abstract class SuperClass
{
}
public class SubClass : SuperClass
{
public void PrintMessage()
{
Console.WriteLine("Testing");
}
}
}