我正在处理 C# 中的 expando 对象,但是,我想知道当我们访问不存在的属性时,我们是否有办法分配一个预定义的值,例如“找不到道具”?我的代码如下,如果我们访问字典中的未知属性(转换为 expandoObject),我有 Runtimebinderexception。
var dict = new ExpandoObject() as IDictionary<string, object>;
foreach (var item in xmldoc.Root.Elements("test"))
{
dict .Add(item.Attribute("key").Value, item.Element("value").Value);
}
/*Existing key, it works fine*/ var testKey = dict.TestData
/*For non existing key in the dictionary*/ var testKey = dict.NewKey; /*I have an exception here*/
那么有什么方法可以避免异常并显示上面的值(Prop not found)?谢谢