0

Taskクラスを拡張しようとしていますが、拡張方法に応じて2つの異なるエラーが発生します。最初のエラー:

public class ExtTask : Task
{
    public static void DoSomenthing(this Task task)
    {
        //some code
    }
}

拡張メソッドは、非ジェネリック静的クラスで定義する必要があります

だから私は静的を追加します:

public static class ExtTask : Task
{
    public static void DoSomenthing(this Task task)
    {
        //some code
    }
}

エラーの発生:

静的クラス「DownloadFile.ExtTask」は、タイプ「System.Threading.Tasks.Task」から派生できません。静的クラスはオブジェクトから派生する必要があります。

どうすればこの問題を解決できますか?

4

1 に答える 1

5

拡張メソッドを追加しようとしている場合は、タスクから派生する必要はありません。次のように変更してください。

public static class ExtTask
{
    public static void DoSomenthing(this Task task)
    {
        //some code
    }
}
于 2012-11-08T09:29:18.490 に答える