[英]Resharper not allowing me to refactor a static method to an instance method
我正在使用ReSharper將靜態方法重構為實例方法,但ReSharper拋出的錯誤是:
方法沒有合適的參數可以做成'this'
這是什么意思? 這是我的類方法:
public static DateTime PreviousOrCurrentQuarterEnd(DateTime date)
{
Quarter qrtr = GetQuarter(date);
DateTime endOfQuarter = GetEndOfQuarter(date.Year, qrtr);
if (endOfQuarter == date)
return date;
else
{
DateTime startOfLast = GetStartOfQuarter(date.Year, qrtr);
return startOfLast.AddDays(-1);
}
}
GetEndOfQuarter
和GetStartOfQuarter
都是同一個類中的其他靜態方法。
您不需要做任何特殊操作來使其成為實例方法。 只需刪除靜態限定符即可完成。
Resharper具有將以下靜態方法轉換為實例方法的功能:
public class MyClass {
public static void DoSomething( MyClass thing, int value) {
thing.Action (value) ;
}
}
變
public class MyClass {
public void DoSomething( int value) {
this.Action (value) ;
}
}
注意從'thing'到'this'的變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.