22

エラー:

public partial class Form2 : Form

推定原因:

public static IChromosome To<T>(this string text)
{
    return (IChromosome)Convert.ChangeType(text, typeof(T));
}

試行済み (静的キーワードなし):

public IChromosome To<T>(this string text)
{
    return (IChromosome)Convert.ChangeType(text, typeof(T));
}
4

4 に答える 4

47

パラメータから「this」を削除すると、機能するはずです。

public static IChromosome To<T>(this string text)

次のようにする必要があります。

public static IChromosome To<T>(string text)
于 2013-10-21T21:34:58.327 に答える
19

拡張機能を含むクラスは静的でなければなりません。あなたのものは次の場所にあります:

public partial class Form2 : Form

これは静的クラスではありません。

次のようなクラスを作成する必要があります。

static class ExtensionHelpers
{
    public static IChromosome To<T>(this string text) 
    { 
        return (IChromosome)Convert.ChangeType(text, typeof(T)); 
    } 
}

拡張メソッドを含めるため。

于 2012-05-02T10:50:49.160 に答える
1

包含クラスは静的ではないため、拡張メソッドは静的クラス内にある必要があります。そのクラスもネストしないでください。拡張メソッド (C# プログラミング ガイド)

于 2012-05-02T10:52:17.220 に答える