私はReSharperののリリースされたばかりのバージョン(2016年2月2日)(なぜ)拡張メソッドとして優先されている方法を呼び出すのですか?
このフラグのコード行使用して、私の解決策をresharpeningの過程で午前:私がすべきことをintimating ...
ReportRunnerConstsAndUtils.ConvertValueToAppropriateTypeAndAssign(totalPackagesCell, packages);
を「拡張メソッドとして起動」私は黙認した場合
、それはこれにその行を変更します。
totalPackagesCell.ConvertValueToAppropriateTypeAndAssign(packages);
これは良いですか?もしそうなら、どうですか?どうして?
ここ「ConstsAndUtils」クラスであると呼ばれている方法であり、コメントの一部が示されているよう
// Adapted from https://stackoverflow.com/questions/26483496/is-it-possible-to-ignore-excel-warnings-when-generating-spreadsheets-using-epplu
public static void ConvertValueToAppropriateTypeAndAssign(this ExcelRangeBase range, object value)
{
string strVal = value.ToString();
if (!String.IsNullOrEmpty(strVal))
{
decimal decVal;
double dVal;
int iVal;
if (decimal.TryParse(strVal, out decVal))
range.Value = decVal;
if (double.TryParse(strVal, out dVal))
range.Value = dVal;
else if (Int32.TryParse(strVal, out iVal))
range.Value = iVal;
else
range.Value = strVal;
}
else
range.Value = null;
}
私は確かにきれいに見えます。 ReSharperは多くのプリファレンスタイプの推奨をしています。あなたが好きではない場合は、オプションでオフにすることができるはずです。 – itsme86
itsme86が言うように、それは個人的な好みです... ReSharperには、リバースリファクタを実行するオプションもあります。 "拡張機能を平静に変換する" https://www.jetbrains.com/resharper/features/code_refactoring.html#Convert_Extension_Method_to_Plain_Static –
これは意見に基づいています。それをするための良い方法はありません。ほとんどの人は、extensiónメソッドがより洗練されていると思っていますが、それについてはそうです。あなたが投稿したコードについて、 'double.TryParse'はいつ呼び出されるのですか?(途中であなたの行方不明)。 – InBetween