使用 XAML 定义的泛型类
本文关键字:泛型类 定义 XAML 使用 | 更新日期: 2023-09-27 18:37:02
有许多
示例说明如何使用泛型基类型在 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 中根本不可能做到吗?
AFAIK 您不会在 XAML 中定义类,您只是创建已定义类的实例,因此当您编写
<local:A
x:Class="B"
x:TypeArguments="local:Foo"
<local:A/>
您正在创建一个传递 Foo 的实例作为类型参数,并且在实例化 GenericType 时无法传递 T。
当你创建一个新的泛型列表时,你可以这样想一想,你能写new List<T>()