我有一个动态对象,我认为它是用 Clay 实现的。它具有两个可能的属性名称之一。我想使用可用的属性名称。以下不起作用:
dynamic workItemPart = item.WorkItem; // is an Orchard.ContentManagement.ContentPart
var learnMore = workItemPart.LearnMore ?? workItemPart.LearnMoreField;
它抛出一个Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
:
不包含“LearnMore”的定义
我们如何检查动态 Clay 对象是否具有属性? 例如,在 JavaScript 中,我们可以执行以下操作。
var workItemPart = {
LearnMoreField: "Sure"
}
console.log(workItemPart.LearnMore || workItemPart.LearnMoreField);
C# 中是否有这么简洁的 Clay 内容?
有关的: