2012-11-08 3 views
0

내가 작업 클래스를 확장하기 위해 노력하고있어 확장하면서 제네릭이 아닌 정적 클래스에 정의 된,하지만 난 두 개의 서로 다른 오류가 나는 그것을 확장하는 방법에 따라 취득해야합니다 첫 번째 :확장 방법은 작업 클래스

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 
    } 
} 

점점 오류 :

Static class 'DownloadFile.ExtTask' cannot derive from type 'System.Threading.Tasks.Task'. Static classes must derive from object.

이 문제를 어떻게 해결할 수 있습니까?

+1

당신은 정적 불필요한 (그리고 불가능 작업에서 도출하려는로 변경, 당신은 확장 메서드를 추가하려는 경우 작업에서 파생 할 필요가 없습니다 수업). 상속을 삭제하고 클래스를 정적으로 유지합니다. – Siege

답변

5

당신은

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