x:TypeArguments中的类型可为null
本文关键字:null 类型 TypeArguments | 更新日期: 2023-09-27 18:27:47
是否可以将可为null的类型传递给XAML泛型类型参数(x:TypeArguments)?
我有:
<base:ControlBase
x:TypeArguments="sys:Int32"
...
我需要Int32可以为null。。类似的东西
<base:ControlBase
x:TypeArguments="sys:Nullable<sys:Int32>"
...
这似乎是无效的XML/XAML。
我也试图将其声明为sys:Nullabe<sys:Int32>
,错误为:
"sys.Nullable"不是泛型参数的有效类型名引用
不,不幸的是,这是不可能的。您需要创建一个中间类来克服这个问题(我已经尝试了所有可能的方法,但都不起作用)。
<base:NullableInt32ControlBase ... >
其中NullableControlBase
是中间类:
public class NullableInt32ControlBase : ControlBase<int?>
{ }
这应该做到:
sys:Nullable`1[System.Int32]
Intellisende和Resharper在这方面给了你一个错误,但它应该可以工作。