我在用户控件中创建BindableProperty时遇到问题。我的用户控件是ResultLabel类。这是我的代码,在其中创建BindableProperty:
public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(ResultStateEnum), typeof(ResultLabel));
该BindableProperty应该接受枚举(ResultStateEnum),但会引发TypeInitializationException
。
答案 0 :(得分:0)
问题在于没有默认值参数传递给该方法。这是一个可选参数,因此程序将尝试将null作为默认参数传递。枚举不能为null,因此将触发异常。您应该在Create
方法中再添加一个参数。假设ResultStateEnum
的值为ResultStateEnum.Default
。然后您的代码应如下所示:
public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(ResultStateEnum), typeof(ResultLabel), ResultStateEnum.Default);