這里涉及一個知識點,就是C#的擴展方法。
比較顯著的標識就是方法參數類型定義時使用this
。
包含擴展方法的類及方法本身必須是靜態的,否則就會報上述錯誤
如
// 報錯CS1106
public class ExtensionHelper
{
public void SelectAll(this string str)
{
//to do sth……
}
}
// 報錯CS1106
public class ExtensionHelper
{
public static void SelectAll(this string str)
{
//to do sth……
}
}
// 報錯CS1105
public static class ExtensionHelper
{
public void SelectAll(this string str)
{
//to do sth……
}
}
// 正確形式
public static class ExtensionHelper
{
public static void SelectAll(this string str)
{
//to do sth……
}
}
關於擴展方法粗略了解自擴展方法必須在非泛型靜態類中定義