任何想法?我將它標記爲靜態,但它不起作用!我無法讓我的擴展方法工作(C#)
class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
任何想法?我將它標記爲靜態,但它不起作用!我無法讓我的擴展方法工作(C#)
class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
你缺少類的靜態。編譯器應該告訴你這個?
public static class ExtensionMethods
這是解決方案,但編譯器不會告訴你這一點。就它而言,語法是有效的。它不知道你正在嘗試做一個擴展方法。 – 2009-09-18 12:32:10
它可以做 - http://msdn.microsoft.com/en-us/library/bb397656.aspx – ICR 2009-09-18 12:50:38
我認爲,它需要一個靜態類中定義:
namespace MyNameSpace
{
public static class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
}
您還必須包括代碼文件using MyNameSpace;
要在使用它們,除非是在同一命名空間
Spot on。擴展方法只能在靜態類上定義。 – 2009-09-18 12:32:35
你有'使用ExtensionMethods'語句你想使用這個代碼? – pgb 2009-09-18 12:29:48
您應該檢查CS1106的編譯器警告。 – 2009-09-18 13:20:54