Общий тип XAML 2009 - PullRequest
       11

Общий тип XAML 2009

2 голосов
/ 22 сентября 2011

У меня проблемы с этим классом

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()
    {

    }
}

Я хочу сделать класс "MyGenericClass" в XAML, но не могу!

Я пробую:

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

Большое спасибо

Нико

1 Ответ

3 голосов
/ 22 сентября 2011

XAML 2006: Вы не можете использовать универсальные типы в xaml 2006. Самое простое решение - использовать MyClass напрямую. Проверьте этот вопрос для других обходных путей: Можно ли указать универсальный тип в XAML (pre .NET 4 Framework)?

XAML 2009: Родовые типы поддерживаются изначально:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...