2013-01-22 3 views
0

제네릭 형식 제약 조건을 가진 제네릭 형식 (다른 클래스 및 인터페이스)의 클래스를 제대로 상속 할 수 있습니까?제네릭 형식 제약을 사용하여 상속

class A { } 
class B { } 
interface I { } 

class C<T> where T : A, B, I { } 
예 A, B 및 I에서

2 개 클래스 T. Inhertiance위한 기초로서 취급되고 C#으로 불가능하다. 하지만 A는 일반 유형 T의 기본 클래스이고 B/I는 C의 기본 클래스/인터페이스입니다.이 작업을 수행하는 방법은 무엇입니까?

은 곧 내가 내 클래스 C를 도출 할 수없는 일반 유형의 경우-제약 조건을 사용할 때 더 이상

+2

당신은 C 봤어 : B를, I T :? –

+0

'제네릭 타입에 대해 where-constraint를 사용하자마자 더 이상 클래스 C를 파생시킬 수 없습니다. '그리고 그 점에 대해 무엇을 시도 했습니까? 이 작업을 수행 할 때 컴파일러 오류가 발생 했습니까? – Servy

답변

4
public class A 
    { 
    } 
    public class B 
    { 
    } 

    public interface I 
    { 
    } 

    public class C<T> : B, I where T : A 
    { 
    } 
+0

방금 ​​시도해 본 결과 위의 코드가 컴파일되었습니다. :) –