2012-02-16 3 views
0

나는 그러한 일반적인 매개 변수를 취하는 기본 클래스를 상속받는 클래스를 가진다.유형을 모른 채 일반 유형의 매개 변수를 메소드에 전달 하시겠습니까?

Partial Public Class CWsSimulerPrelvBancaire 
    Inherits CsBaseService(Of CxSimulerPrelvBancaire) 

내 문제는 내가 그 방법으로 가고 그 기본 클래스에서 상속하는 모든 클래스를 원하기 때문에하는 방법으로 기본 클래스를 전달해야한다는 것입니다.

Public Sub ChangerService(ByVal ctl_Service As CsBaseService(Of ???) 
     _ctlServiceActif = ctl_Service 
     _ctlConteneurService.ActiveViewIndex = ctl_Service.Service 
    End Sub 

문제는 "???" 위의 코드에서 .. 거기에 제네릭을 설정하는 방법? 우리는 CsBaseService (Of anyTypePossible 중)를 알아야하기 때문에 여기에 지정된 유형의 클래스를 알 필요가 없기 때문에이 문제에 대한 가장 확실한 해결책을 찾고 있습니다. 당신이 CsBaseService에 전달하는 제네릭 형식 매개 변수가 인터페이스에 자신을 제한 할 수있는 경우

+0

CWsSimulerPrelvBancaire 클래스뿐만 아니라 일반적인해야합니다. CsBaseService (Of Foo)와 CsBaseService (Of Bar) 사이에는 어떤 관계도 없으며, 이들은 서로 다른 유형이며 공통된 Object 만 있습니다. –

답변

0

, 당신과 같이 일반적으로 당신의 방법을 다시 작성할 수 :

public void ChangerService<T>(CsBaseService<T> ctl_Service) where T: IInterfaceOfGenericArgument 
관련 문제