2012-04-02 9 views
0

私は現在、クラス "ノート"を持つ基本クラス "タスク"を作成しているToDoリスト(ほとんど重要ではない)の開発に苦労しています。 、 "extendedTask"、および "Reminder"が含まれます。私はまた、リマインダから継承する "アポイントメント"と呼ばれるクラスを持っています。親クラスと子クラスのメソッドを宣言して一緒に実行する

これらのクラスはすべて、「detailsS​​how」というメソッドを持つインターフェイスを実装しています。子クラスからメソッドを呼び出し、親メソッドから同じメソッドを呼び出したいとします。

子クラスは、このようにそれを定義しているが、ベースクラスのメソッドは、そのような

public virtual string detailsShow() 
    { 
     return "Description: " + _taskDescription; 
    } 

として定義される(それは、変数の最小数を有するように注意がこの例で使用されている)

public override string detailsShow() 
    { 
     return "Details: " + _noteDescription; 
    } 

私は基本クラスのメソッドと子クラスのメソッドの両方をどのように定義したのでしょうか。私はリッチテキストボックスに新しい行を開始しますどのように別のノート、

(私はそれを見てみたい方法)

Stuffhere 
Andstuffhere 

(私は私の方法を使用して何を得る)

Stuffhere \nAndstuffhere 

ありがとうございます。

+2

すみませんが、私はあなたの質問が何であるかが表示されません。.. ? – Aerik

+0

私はあなたの質問を失った – Steve

+2

あなたは別の投稿の2番目の質問をするより多くの運があるかもしれません。または、http://stackoverflow.com/a/7069784/117625 –

答えて

3

あなたのコードの現在の構造が与えられている場合、継承者はそれを

のようなものを生み出すことができ
public override string detailsShow() 
{ 
    return base.detailsShow() + " Details: " + _noteDescription; 
} 

::のように親、

Description: Stuffhere Details: Andstuffhere 

あなたは、基本クラスTaskへの参照を持っており、相続がその決定を行うために取得するようvirtual detailsShowを実行することを強制することはできません。

1

あなたは、リッチテキストボックスに新しい行を開始するために、基本クラスのdetailsS​​howメソッドを呼び出し、Environment.NewLineを含めることができます。

public override string detailsShow() 
{ 
    return base.detailsShow() + Environment.NewLine + 
     "Details: " + _noteDescription; 
}