这是函数签名:
Platform::Object^ ConverterImpl::Convert(Object^ value, TypeName targetType, Object^ parameter, String^ culture)
如何验证“targetType”对应的数据类型?目前我这样做:
if(targetType.Name == "Windows.UI.Xaml.Media.Brush")
但必须有更好的解决方案。
答案 0 :(得分:3)
正确的语法是:
auto maybeBrush = dynamic_cast<Brush^>(parameter);
if (maybeBrush != nullptr)
{
// We have a brush, let's do something with it!
}
您也可以这样做(采取预防措施取消引用空值):
if (value->GetType() == Brush::typeid)
{
// We have a brush here, too!
}
示例实现可以在Hilo项目中找到,或者更方便地在this blog post找到。