1

有许多示例说明如何使用泛型基类型在 XAML 中定义类。你会做这样的事情:

<local:A
            x:Class="B"
            x:TypeArguments="local:Foo"
<local:A/>
-----------------
public class B : A<Foo> { }

但是,如果我也想让A 类泛型怎么办?就像是:

<local:A
            x:Class="B"
            x:TypeArguments="T" // Compiler error: "The type "T" was not found"
<local:A/>
-----------------
public class B<T> : A<T> { }

这在 XAML 中根本不可能吗?

4

1 回答 1

0

AFAIK 你没有在 XAML 中定义类,你只是在创建已经定义的类的实例,所以当你写

<local:A
        x:Class="B"
        x:TypeArguments="local:Foo"
<local:A/>

您正在创建 A 的实例,将 Foo 作为类型参数传递,并且在实例化 GenericType 时不能传递 T。

当你创建一个新的通用列表时这样想你能写吗new List<T>()

于 2013-10-26T23:59:47.900 回答