2011-09-22 4 views
2

나는이 수업 내가 XAML의 클래스 "MyGenericClass"을했다 할일반 유형 XAML 2009

public class MyClass : MyGenericClass<String, Int32> 
{ 

} 

// XAML Class 
public class MyGenericClass<T, U> : MyGenericClassBase<T, U> 
    where U : class 
    where T : class 
{ 
    public MyGenericClass() 
    { 
     InitializeComponent(); 
    } 
} 

public class MyGenericClassBase<T, U> 
    where U : class, new() 
    where T : class, new() 
{ 
    T _t; 
    U _u; 
    public MyGenericClassBase() 
    { 

    } 
} 

와 litte 문제가 발생하지만 난 할 수 없어!

나는 그것을 시도 :

<MyGenericClassBase x:Class="MyGenericClass" 
     x:TypeArguments="class,class" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > 

     ... 

어떻게 내가 내 "MyGenericClass"및 상속 클래스에 인수 유형을 전달할 수 있습니다 "MyGenericClassBase"

덕분에 많이

니코

+0

당신이 의견을 작성받을 답변에서 코멘트 시스템을 사용하십시오. 답변은 그 대답을 위해 예약되어 있습니다. –

답변

3

xaml 2006 : xaml 2006에서는 제네릭 형식을 사용할 수 없습니다. 가장 쉬운 방법은 MyClass를 직접 사용하는 것입니다. 다른 해결 방법이 문제를 확인 : Can I specify a generic type in XAML (pre .NET 4 Framework)?

XAML 2009 : 일반 유형이 기본적으로 지원됩니다

<MyGenericClass x:TypeArguments="x:Int32, x:String"> 
    ... 
</MyGenericClass> 
+0

Alfonso 님, 안녕하세요. 빠른 답변을 보내 주셔서 감사합니다.하지만이 주제가 도움이되지 못했습니다! XAML에서 "MyClass"를 사용할 수 없습니다! 그리고 내 질문은 일반 클래스 XAML 클래스에서 사용할 수있는 경우 ("MyGenericClassBase"상속 클래스가 아니라 내 현재 클래스 "MyGenericClass"!) 고마워요. – Nicolas

+0

XAML 2009에서 네이티브로 지원되는 제네릭 형식을 발견 한 후 일부 파고. 나 – alf

+0

이 사건을 알고 있지만 상속 된 클래스에 대해서만 작동하고 내 기본 클래스 "MyGenericClass"에 대해서는 작동하지 않습니다. 코드의 매개 변수 x : TypeArguments는 클래스 "MyGenericClassBase"에 대한 것입니다. ! 당신이 다른 아이디어가 있다면? 감사합니다 – Nicolas