2009-09-18 19 views
5

アイデアはありますか?私は静的としてマークしましたが、うまくいきません!私の拡張メソッドを動作させることができません(C#)

class ExtensionMethods 
{ 
    public static int Add(this int number, int increment) 
    { 
     return number + increment; 
    } 
} 
+0

このコードを使用したい場所に 'Using ExtensionMethods'ステートメントがありますか? – pgb

+1

CS1106のコンパイラの警告を確認する必要があります。 –

答えて

19

クラスにスタティックがありません。コンパイラはこれをあなたに伝えたはずですか?

public static class ExtensionMethods 
+3

これは解決策ですが、コンパイラはこれをあなたに伝えません。それが関係する限り、構文は有効です。あなたが拡張メソッドを作ろうとしているのかどうかは分かりません。 –

+3

これは可能です - http://msdn.microsoft.com/en-us/library/bb397656.aspx – ICR

11

私はそれは静的クラスで定義される必要がある、と思う:

namespace MyNameSpace 
{ 
    public static class ExtensionMethods 
    { 
     public static int Add(this int number, int increment) 
     { 
      return number + increment; 
     } 
    } 
} 

また、あなたはそれが同じである場合を除き、それらを使用したいコードファイル内using MyNameSpace;を含める必要があります名前空間

+0

Spot on。拡張メソッドは、静的クラスでのみ定義できます。 –

関連する問題