2017-05-04 17 views
2
学校の割り当てで

、我々はこの例があります:パラメータとしての文字列フォーマット?

image here

それはstringを返す文字列フォーマットパラメータ、とToStringと呼ばれるpublic abstract methodを作成するために私に語りました。これはどのように可能ですか?

私はこの試みた:

public abstract string ToString(String.Format type) 
{ 
    return "Some text"; 
} 

をしかし、それはエラーの数を返しました:

The type or namespace name 'Format' could not be found (are you missing a using directive or an assembly reference?) 
'Shape.ToString(string, Format)' cannot declare a body because it is marked abstract 

私はこれをどのように修正することができますか?

+1

'abstract'メソッドは本文を持つことができません..' public abstract string ToString(String.Format type); 'のみ有効です。 –

+0

@BagusTesaによると、このパラメータの名前はformatですが、イメージには 'string'と入力されています。だから、 'public abstract string ToString(文字列形式);' – Lithium

+0

良い努力をしていますが、試してみると+1のスペルを間違って読んでしまいました。 – WhatsThePoint

答えて

5

あなたの方法は、次のようになります。あなたが仕様をmissreaded

public abstract string ToString(string format); 

。あなたの画像は、パラメータが名前フォーマットであるメソッドを表示します。

C#の書式文字列の詳細については、MSDN string.format pageをご覧ください。

アブストラクトの詳細については、MSDN abstract pageをご覧ください。

+0

ええ、大丈夫ですが、イメージは文字列を返すと教えてくれませんか?例えばToString(文字列形式):文字列(this) – Jesper

+0

このメソッドは文字列を返します。public abstract ** string ** ... –

+0

ああ、ちょっと寂しがり屋のように感じますか?大丈夫、ありがとう! – Jesper

5

あなたは仕様を誤解していると思います。これには、名前formatという文字列型のパラメータがあります。 ie

public abstract string ToString(string format); 

抽象としてマークされたメソッドのボディを持たないと言う2番目のエラーに注意してください。必要に応じて実装を提供することもできますが、その場合はabstractではなくvirtualというマークを付けることをお勧めします。

+0

ええ、大丈夫ですが、イメージは文字列を返すと教えてくれませんか?例えばToString(文字列形式):文字列(これ) – Jesper

+0

@Jesper、仕様では 'ToString(文字列形式**):文字列' –

関連する問題