2017-06-21 3 views
2

私は、プロジェクトのコードに次のコード列に遭遇:変数「ソースが」私はこの行が何をしているか便利理解できない文字列なぜ1つのパラメータでstring.Formatを使用したいのですか?

ことで

var result = string.Format(source); 

を。私がいつも考えていたように、stringのためには少なくとも2つのパラメータが必要です。

ReSharperはこれを冗長なものとして強調していないので、この行には私が現時点で把握できない目的があるようです。 (または、ReSharperがこのケースを具体的に処理しない場合があります)

1つのパラメータでstring.Formatを使用するのはなぜですか?おそらく、オーバーロード関数

public static string Format(string format, params object[] args); 

+0

そのオーバーロードは[MSDN](https://msdn.microsoft.com/en-us/library/system.string.format%28v=vs.110%29.aspx?f=255&MSPPError=)に記載されていません。 -2147217396)。 –

+2

@vladislavは 'source'が書式シーケンスを含むときに悪用される潜在的なバグを紹介します。 Bradleyは可変引数で過負荷になっていますが、0からNまで行くことができます。私もこれを見て、少なくともその場合は元のコードの孤児でした。 –

+0

@maccettura私が知っている限り、静的な拡張メソッドを追加することはできません。 –

答えて

0

は、コードをコンパイルすることを可能にします。 string.Format(source)が意味のある方法で助けてくれるとは想像もできません。

+0

この行を削除しようとしましたが、解決策は問題なく構築されました。この行は実際には目的がないように見えます。 –

関連する問題