有很多关于如何使用泛型基础类型在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中根本不可能吗?
答案 0 :(得分:0)
AFAIK你没有在XAML中定义类,你只是创建已经定义的类的实例,所以在你写的时候
<local:A
x:Class="B"
x:TypeArguments="local:Foo"
<local:A/>
您正在创建A传递Foo的实例作为类型参数,并且在实例化GenericType时您无法传递T.
在创建新的通用列表时,请考虑这样,可以编写new List<T>()