string.Format
のfristパラメータのようなformat
パラメータで書き込む方法を考えてみましょう。知っているように、Intellisenseは最初のパラメータの制約を認識し、パラメータとの一貫性をチェックします。どのように私はそのような方法を書くことができます。簡単な例としてintellisenseをサポートしたstring.Formatのようなメソッドの記述方法
、同じようstring.Format
のラップを考慮してください。
public string MyStringFomratter(string formatStr, params object[] arguments)
{
// Do some checking and apply some logic
return string.Format(formatStr, arguments);
}
どのように私はformatStr
がstring.Format
の最初のパラメータのようなものであることをコンパイラやIDEに言うことができますか?
だから私はこのようないくつかのコードがある場合:コンパイラは、パラメータの数が間違ってString.Format
のための警告を発行しません
var x = MyStringFormatter("FristName: {0}, LastName: {1}", firstName);
// This code should generate a warning in the IDE
パラメータの内容を分析することはできません。しかし、Visual Studioアドイン(ReSharperなど)を使用すると、String.Formatのパラメータ数を確認できます。 –
@SergeyBerezovskiy ye ResharperはString.Formatだけをチェックしますが、自分のメソッドはどうですか?方法はありますか? – mehrandvd
Resharperは、すべてのメソッドについて、Reshaperのメーカが1つのメソッド名または他のメソッドに対してハードコードされているとは思わないと確信しています – MikeSW