我认为首先一个代码示例是必不可少的。我正在尝试构建一个视图模型,用于所有需要下拉控件的属性,这是一个开始:
public class ListProperty<TListItem, TValue>
{
private readonly string _valuePropertyName = "Id";
private readonly string _textPropertyName = "Name";
public TValue Value { get; set; }
private IEnumerable<TListItem> _list;
public ListProperty(IEnumerable<TListItem> list)
{
_list = list;
}
}
我希望有一个Value
始终可以为空的基础属性,因此如果TValue
是引用类型,则基础类型将只是TValue
,但当TValue
是值类型时,基础类型必须是Nullable<TValue>
。
更多:我想要这个的原因是要知道该Value
属性是否已被分配。在没有我要求的情况下执行此操作将涉及必须键入 value as Object
,这对我来说很难闻。